Skip to content

Commit cab6305

Browse files
committed
Run LWT tablet matrix on Scylla 2026.1
1 parent 2321201 commit cab6305

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

integration-tests/src/test/java/com/datastax/oss/driver/core/metadata/DefaultMetadataTabletMapIT.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.datastax.oss.driver.api.core.CqlIdentifier;
66
import com.datastax.oss.driver.api.core.CqlSession;
77
import com.datastax.oss.driver.api.core.DefaultConsistencyLevel;
8+
import com.datastax.oss.driver.api.core.Version;
89
import com.datastax.oss.driver.api.core.config.DefaultDriverOption;
910
import com.datastax.oss.driver.api.core.cql.PreparedStatement;
1011
import com.datastax.oss.driver.api.core.cql.ResultSet;
@@ -15,6 +16,7 @@
1516
import com.datastax.oss.driver.api.core.metadata.Tablet;
1617
import com.datastax.oss.driver.api.testinfra.ScyllaOnly;
1718
import com.datastax.oss.driver.api.testinfra.ScyllaRequirement;
19+
import com.datastax.oss.driver.api.testinfra.ccm.CcmBridge;
1820
import com.datastax.oss.driver.api.testinfra.ccm.CustomCcmRule;
1921
import com.datastax.oss.driver.api.testinfra.session.SessionRule;
2022
import com.datastax.oss.driver.api.testinfra.session.SessionUtils;
@@ -26,6 +28,7 @@
2628
import java.util.HashSet;
2729
import java.util.List;
2830
import java.util.Map;
31+
import java.util.Objects;
2932
import java.util.Set;
3033
import java.util.concurrent.ConcurrentMap;
3134
import java.util.concurrent.ConcurrentSkipListSet;
@@ -68,6 +71,8 @@ public class DefaultMetadataTabletMapIT {
6871
private static final int INITIAL_TABLETS = 32;
6972
private static final int QUERIES = 1600;
7073
private static final int REPLICATION_FACTOR = 2;
74+
private static final Version SCYLLA_LWT_TABLETS_SUPPORT_VERSION =
75+
Objects.requireNonNull(Version.parse("2026.1"));
7176
private static final String KEYSPACE_NAME = "tabletsTest";
7277
private static final String TABLE_NAME = "tabletsTable";
7378
private static final String CREATE_KEYSPACE_QUERY =
@@ -234,8 +239,8 @@ public void every_statement_should_deliver_tablet_info() {
234239
// Scylla does not return tablet info for queries with PK built into query
235240
continue;
236241
}
237-
if (stmtEntry.getKey().contains("LWT")) {
238-
// LWT is not yet supported by scylla on tables with tablets
242+
if (stmtEntry.getKey().contains("LWT") && isScyllaVersionLessThan2026_1()) {
243+
// LWT is supported on tables with tablets starting with Scylla 2026.1.
239244
continue;
240245
}
241246
if (sessionEntry.getKey().equals("REGULAR") && stmtEntry.getKey().contains("NO_KS")) {
@@ -368,6 +373,12 @@ private static boolean waitSessionLearnedTabletInfo(CqlSession session) {
368373
}
369374
}
370375

376+
private static boolean isScyllaVersionLessThan2026_1() {
377+
return CcmBridge.getScyllaVersion()
378+
.map(version -> version.compareTo(SCYLLA_LWT_TABLETS_SUPPORT_VERSION) < 0)
379+
.orElse(false);
380+
}
381+
371382
private static boolean checkIfRoutedProperly(CqlSession session, Statement stmt) {
372383
// DefaultLoadBalancingPolicy suppose to prioritize nodes from replica list randomly shuffling
373384
// them

0 commit comments

Comments
 (0)