Skip to content

fix: disable tablets at keyspace level for 2025.4 compatibility#143

Merged
nikagra merged 1 commit into
scylladb:masterfrom
nikagra:fix/tablets-disabled-for-counter-index-mv-tests
May 21, 2026
Merged

fix: disable tablets at keyspace level for 2025.4 compatibility#143
nikagra merged 1 commit into
scylladb:masterfrom
nikagra:fix/tablets-disabled-for-counter-index-mv-tests

Conversation

@nikagra

@nikagra nikagra commented May 15, 2026

Copy link
Copy Markdown
Contributor

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 — same
  • TableMetadataTest.should_not_mix_indexes_from_different_tables — same
  • TableMetadataTest.should_parse_counter_table"Counters are not yet supported with tablets"
  • QueryBuilderExecutionTest.should_select_from_materialized_view — tablets error
  • SessionTest (beforeTestClass) — cascading failure

Root 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 the 4.19.0.8 patch which fails git apply --check against 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/patch and versions/datastax/4.19.2/patch: tablets disabled in SessionUtils.createTestKeyspace()
  • versions/scylla/3.11.4.0/patch: tablets disabled in CCMTestsSupport.initTestKeyspace() via CCMBridge.getGlobalScyllaVersion() guard; also adds NetworkTopologyStrategy and forwards scylla.version to surefire forked JVMs
  • versions/scylla/3.11.5.15/patch: same central fix in CCMTestsSupport.initTestKeyspace(), plus per-test overrides for SingleTokenIntegrationTest and TokenIntegrationTest
  • versions/scylla/4.18.1.0/patch and versions/scylla/4.19.0.9/patch: tablets disabled in SessionUtils.createTestKeyspace()
  • versions/scylla/4.19.0.9/ (new): added patch and ignore.yaml for 4.19.0.9 tag (fixes Driver tests failed with "AssertionError: Checking patch " #144)

Validation

All four ScyllaDB release pipelines validated overnight on staging:

ScyllaDB version Build Result
master https://jenkins.scylladb.com/job/scylla-staging/job/mhradovich/job/java-driver-matrix-master/41/
2025.4 https://jenkins.scylladb.com/job/scylla-staging/job/mhradovich/job/java-driver-matrix-2025.4/15/
2026.1 https://jenkins.scylladb.com/job/scylla-staging/job/mhradovich/job/java-driver-matrix-2026.1/1/
2026.2 https://jenkins.scylladb.com/job/scylla-staging/job/mhradovich/job/java-driver-matrix-2026.2/1/

@nikagra nikagra force-pushed the fix/tablets-disabled-for-counter-index-mv-tests branch 2 times, most recently from 702d92a to 519d39f Compare May 19, 2026 22:39
@nikagra nikagra changed the title fix: disable tablets in initTestKeyspace and add NTS to 3.11.5.15 patch fix: disable tablets at keyspace level for 2025.4 compatibility May 19, 2026
@nikagra nikagra requested a review from Copilot May 19, 2026 23:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 NetworkTopologyStrategy with dc1 where 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.

Comment thread versions/scylla/4.19.0.9/patch
Comment thread versions/scylla/4.19.0.9/patch
Comment thread versions/scylla/4.19.0.9/ignore.yaml
Comment thread versions/scylla/4.19.0.9/ignore.yaml
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
@nikagra nikagra force-pushed the fix/tablets-disabled-for-counter-index-mv-tests branch from 519d39f to 29b6727 Compare May 21, 2026 15:01
@nikagra nikagra marked this pull request as ready for review May 21, 2026 15:01

@nikagra nikagra left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.8
  • awaitScyllaAuth() logging only e.getMessage() — pre-existing in 4.19.0.8
  • PlainTextAuthProviderIT ignored in ignore.yaml — pre-existing in 4.19.0.8
  • ClientRoutesIT ignored in ignore.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.

@nikagra nikagra merged commit 65e9c52 into scylladb:master May 21, 2026
10 checks passed
@nikagra nikagra deleted the fix/tablets-disabled-for-counter-index-mv-tests branch May 21, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Driver tests failed with "AssertionError: Checking patch "

3 participants