fix: disable tablets at keyspace level for 2025.4 compatibility#143
Conversation
702d92a to
519d39f
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the per-driver-version patch sets so test keyspaces are created with tablets disabled, restoring compatibility with ScyllaDB 2025.4 where tablets are enabled by default and break counters, secondary indexes, and materialized views.
Changes:
- Disable tablets at test keyspace creation time (via
AND tablets = {'enabled': false}) across multiple driver versions. - Adjust replication strategy in test keyspace creation to
NetworkTopologyStrategywithdc1where required by the patched test infra. - Add/adjust ancillary test-infra reliability tweaks in the Scylla 4.19.0.9 patch set (auth readiness wait, port collision avoidance), plus an ignore list for known flaky tests in that version.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| versions/scylla/4.19.0.9/patch | Disables tablets in SessionUtils keyspace creation and includes additional test-infra stability changes (auth readiness wait, port collision avoidance, etc.). |
| versions/scylla/4.19.0.9/ignore.yaml | Ignores two test classes for this version due to timeouts/flakiness introduced or exposed by the new infra behavior. |
| versions/scylla/4.19.0.8/patch | Maintains the Scylla 4.19.0.8 patch set, including tablet-related compatibility adjustments for MV/counter tables. |
| versions/scylla/4.18.1.0/patch | Disables tablets at keyspace level and de-flakes QueryReturnTypesIT by using unique per-test IDs. |
| versions/scylla/3.11.5.15/patch | Disables tablets for Scylla-created test keyspaces (guarded) in legacy 3.x test support. |
| versions/scylla/3.11.4.0/patch | Disables tablets for legacy 3.x test keyspaces and forwards scylla.version into forked test JVMs. |
| versions/datastax/4.19.2/patch | Disables tablets at keyspace creation time in the test infra patch. |
| versions/datastax/4.19.1/patch | Disables tablets at keyspace creation time in the test infra patch. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Tablets are enabled by default in ScyllaDB 2025.4, which causes CREATE
TABLE to fail for counters, materialized views, and secondary indexes.
Add AND tablets = {'enabled': false} to keyspace creation in test
infrastructure across all driver version patches.
Affected versions: datastax/4.19.1, datastax/4.19.2, scylla/3.11.4.0,
scylla/3.11.5.15, scylla/4.18.1.0, scylla/4.19.0.9
519d39f to
29b6727
Compare
nikagra
left a comment
There was a problem hiding this comment.
Thanks for the review. All four comments point to pre-existing issues in 4.19.0.9/patch and 4.19.0.9/ignore.yaml that are copied verbatim from 4.19.0.8/patch and 4.19.0.8/ignore.yaml (which already exist on master). Specifically:
awaitScyllaAuth()timeout capped at 30s — pre-existing in 4.19.0.8awaitScyllaAuth()logging onlye.getMessage()— pre-existing in 4.19.0.8PlainTextAuthProviderITignored inignore.yaml— pre-existing in 4.19.0.8ClientRoutesITignored inignore.yaml— pre-existing in 4.19.0.8
This PR's scope is: (1) disable tablets at keyspace level to fix 2025.4 failures, and (2) add the missing 4.19.0.9/ directory to fix issue #144. Improving awaitScyllaAuth reliability and narrowing ignore.yaml entries are valid follow-up tasks but are not regressions introduced here. I'll open a separate issue to track them.
Problem
ScyllaDB 2025.4 enables tablets by default for all replication strategies. Counters, secondary indexes, and materialized views are not supported on tables with tablets, causing tests to fail across multiple driver versions:
IndexMetadataTest.should_create_metadata_for_simple_index— "Materialized views and secondary indexes are not supported on base tables with tablets"IndexMetadataTest.should_create_metadata_for_custom_index— sameTableMetadataTest.should_not_mix_indexes_from_different_tables— sameTableMetadataTest.should_parse_counter_table— "Counters are not yet supported with tablets"QueryBuilderExecutionTest.should_select_from_materialized_view— tablets errorSessionTest(beforeTestClass) — cascading failureRoot cause: test keyspaces are created without
AND tablets = {'enabled': false}, so all tables in those keyspaces inherit tablets.Failing build: https://jenkins.scylladb.com/job/scylla-2025.4/job/driver-tests/job/java-driver-matrix-test/19/
Also fixes #144:
versions/scylla/4.19.0.9/was missing on master, causing the 2026.1 pipeline to fall back to the4.19.0.8patch which failsgit apply --checkagainst 4.19.0.9 source.Changes
Adds
AND tablets = {'enabled': false}to keyspace creation in test infrastructure across all driver version patches:versions/datastax/4.19.1/patchandversions/datastax/4.19.2/patch: tablets disabled inSessionUtils.createTestKeyspace()versions/scylla/3.11.4.0/patch: tablets disabled inCCMTestsSupport.initTestKeyspace()viaCCMBridge.getGlobalScyllaVersion()guard; also addsNetworkTopologyStrategyand forwardsscylla.versionto surefire forked JVMsversions/scylla/3.11.5.15/patch: same central fix inCCMTestsSupport.initTestKeyspace(), plus per-test overrides forSingleTokenIntegrationTestandTokenIntegrationTestversions/scylla/4.18.1.0/patchandversions/scylla/4.19.0.9/patch: tablets disabled inSessionUtils.createTestKeyspace()versions/scylla/4.19.0.9/(new): addedpatchandignore.yamlfor 4.19.0.9 tag (fixes Driver tests failed with "AssertionError: Checking patch " #144)Validation
All four ScyllaDB release pipelines validated overnight on staging: