Skip to content

Clarify OptionsMap serialization upgrade guidance - #1041

Merged
dkropachev merged 1 commit into
scylla-4.xfrom
cleanup/1032-remove-dse-protocol
Oct 11, 2026
Merged

dkropachev merged 1 commit into
scylla-4.xfrom
cleanup/1032-remove-dse-protocol

Conversation

@dkropachev

@dkropachev dkropachev commented Aug 31, 2026 •

Copy link
Copy Markdown

Why

After #1042 removed DseDriverOption, serialized OptionsMap instances from older releases that contain those options cannot be read. OptionsMap.driverDefaults() included them even when an application did not configure DSE features. The upgrade guide did not make the effect on default maps clear.

What

  • Clarify that maps created with OptionsMap.driverDefaults() in 4.19.2.1 and 4.19.2.2 cannot be deserialized by the current driver.
  • Remove the unused 4.19.2.1 serialized map fixture for that unsupported format.

Decisions

@coderabbitai

coderabbitai Bot commented Aug 31, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: QUIET
  • Plan: Advanced
  • Run ID: ef70d3f8-e3ce-40a8-b08e-865e0ec9e498






📥 Commits

Reviewing files that changed from the base of the PR and between 3bce7c7 and 6c62982.







📒 Files selected for processing (71)
  • changelog/README.md
  • core/src/main/java/com/datastax/dse/driver/api/core/DseProtocolVersion.java
  • core/src/main/java/com/datastax/dse/driver/api/core/config/DseDriverOption.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousAsyncResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousSession.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/reactive/ContinuousReactiveResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/reactive/ContinuousReactiveSession.java
  • core/src/main/java/com/datastax/dse/driver/api/core/metrics/DseSessionMetric.java
  • core/src/main/java/com/datastax/dse/driver/api/core/servererrors/UnfitClientException.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/DseProtocolFeature.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/DseConversions.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestAsyncProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandler.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestSyncProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousRequestHandlerBase.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousAsyncResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/reactive/ContinuousCqlRequestReactiveProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/reactive/DefaultContinuousReactiveResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/reactive/FailedReactiveResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/reactive/ReactiveResultSetSubscription.java
  • core/src/main/java/com/datastax/oss/driver/api/core/CqlSession.java
  • core/src/main/java/com/datastax/oss/driver/api/core/ProtocolVersion.java
  • core/src/main/java/com/datastax/oss/driver/api/core/config/OptionsMap.java
  • core/src/main/java/com/datastax/oss/driver/api/core/config/TypedDriverOption.java
  • core/src/main/java/com/datastax/oss/driver/api/core/metrics/SessionMetric.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/DefaultProtocolVersionRegistry.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/config/DeprecatedGraphConfig.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/context/DefaultDriverContext.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/metrics/DropwizardSessionMetricUpdater.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/metrics/MetricPaths.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/session/BuiltInRequestProcessors.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/util/concurrent/DriverBlockHoundIntegration.java
  • core/src/main/resources/reference.conf
  • core/src/test/java/com/datastax/dse/driver/DseTestDataProviders.java
  • core/src/test/java/com/datastax/dse/driver/DseTestFixtures.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/context/DseStartupOptionsBuilderTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerNodeTargetingTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerReprepareTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerRetryTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerTestBase.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousAsyncResultSetTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousResultSetTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/reactive/ContinuousCqlRequestReactiveProcessorTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/reactive/CqlRequestReactiveProcessorTest.java
  • core/src/test/java/com/datastax/oss/driver/api/core/config/OptionsMapTest.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/DefaultProtocolVersionRegistryTest.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/config/composite/CompositeDriverConfigTest.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/context/DefaultDriverContextTest.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/metrics/MetricPathsTest.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/extras/enums/EnumNameCodecTest.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/extras/enums/EnumOrdinalCodecTest.java
  • core/src/test/resources/config/customApplication.conf
  • core/src/test/resources/config/customApplication.json
  • core/src/test/resources/config/customApplication.properties
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousPagingIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousPagingITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/reactive/ContinuousPagingReactiveIT.java
  • integration-tests/src/test/java/com/datastax/oss/driver/core/ProtocolVersionInitialNegotiationIT.java
  • integration-tests/src/test/java/com/datastax/oss/driver/core/config/DriverConfigReportingSimulacronIT.java
  • integration-tests/src/test/java/com/datastax/oss/driver/internal/core/util/concurrent/DriverBlockHoundIntegrationCcmIT.java
  • integration-tests/src/test/resources/application.conf
  • manual/core/native_protocol/README.md
  • manual/core/non_blocking/README.md
  • metrics/micrometer/src/main/java/com/datastax/oss/driver/internal/metrics/micrometer/MicrometerSessionMetricUpdater.java
  • metrics/micrometer/src/test/java/com/datastax/oss/driver/internal/metrics/micrometer/MicrometerSessionMetricUpdaterTest.java
  • metrics/microprofile/src/main/java/com/datastax/oss/driver/internal/metrics/microprofile/MicroProfileSessionMetricUpdater.java
  • osgi-tests/src/main/resources/application.conf
  • upgrade_guide/README.md






💤 Files with no reviewable changes (51)
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerTest.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/reactive/ContinuousCqlRequestReactiveProcessor.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/reactive/ContinuousReactiveResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousAsyncResultSet.java
  • core/src/test/resources/config/customApplication.json
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousResultSet.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/reactive/ContinuousPagingReactiveIT.java
  • core/src/test/resources/config/customApplication.conf
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/reactive/ContinuousReactiveSession.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousPagingIT.java
  • core/src/test/resources/config/customApplication.properties
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousAsyncResultSetTest.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestAsyncProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandler.java
  • metrics/micrometer/src/test/java/com/datastax/oss/driver/internal/metrics/micrometer/MicrometerSessionMetricUpdaterTest.java
  • metrics/microprofile/src/main/java/com/datastax/oss/driver/internal/metrics/microprofile/MicroProfileSessionMetricUpdater.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousRequestHandlerBase.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/context/DseStartupOptionsBuilderTest.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousAsyncResultSet.java
  • osgi-tests/src/main/resources/application.conf
  • core/src/main/java/com/datastax/dse/driver/api/core/config/DseDriverOption.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/session/BuiltInRequestProcessors.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousResultSet.java
  • core/src/main/java/com/datastax/oss/driver/api/core/config/OptionsMap.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousPagingITBase.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerRetryTest.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/DseConversions.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/extras/enums/EnumNameCodecTest.java
  • metrics/micrometer/src/main/java/com/datastax/oss/driver/internal/metrics/micrometer/MicrometerSessionMetricUpdater.java
  • core/src/test/java/com/datastax/oss/driver/internal/core/type/codec/extras/enums/EnumOrdinalCodecTest.java
  • core/src/test/java/com/datastax/oss/driver/api/core/config/OptionsMapTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerReprepareTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/reactive/ContinuousCqlRequestReactiveProcessorTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerTestBase.java
  • core/src/main/java/com/datastax/dse/driver/api/core/cql/continuous/ContinuousSession.java
  • core/src/main/java/com/datastax/dse/driver/api/core/DseProtocolVersion.java
  • integration-tests/src/test/java/com/datastax/oss/driver/internal/core/util/concurrent/DriverBlockHoundIntegrationCcmIT.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/util/concurrent/DriverBlockHoundIntegration.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestSyncProcessor.java
  • core/src/test/java/com/datastax/dse/driver/DseTestDataProviders.java
  • core/src/main/java/com/datastax/oss/driver/api/core/ProtocolVersion.java
  • manual/core/native_protocol/README.md
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/ContinuousCqlRequestHandlerNodeTargetingTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/cql/continuous/DefaultContinuousResultSetTest.java
  • core/src/main/java/com/datastax/dse/driver/api/core/servererrors/UnfitClientException.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/cql/continuous/reactive/DefaultContinuousReactiveResultSet.java
  • core/src/main/java/com/datastax/oss/driver/api/core/config/TypedDriverOption.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/metrics/DropwizardSessionMetricUpdater.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/DseProtocolFeature.java
  • integration-tests/src/test/resources/application.conf
  • integration-tests/src/test/java/com/datastax/oss/driver/core/ProtocolVersionInitialNegotiationIT.java






Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.








📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

The driver removes DSE protocol V1/V2 and continuous-paging APIs, processors, result sets, configuration, and metrics. Protocol negotiation and codec registration now use OSS protocol versions. Graph page-size configuration uses the standard request page size. Related unit and integration tests, configuration examples, and documentation are updated.

















Priority: ➖ Normal

Change: Other

Merge Risk: ⚪ Minimal · up to 6c629

This change removes DSE continuous paging and DSE protocol V1/V2 support, which is a documented breaking change. Standard reactive CQL execution is preserved, and no concrete merge-blocking risk was identified in the reviewed changes.

Pre-merge checks | Passed 4 | Failed 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 5.56% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 36 functions across 16 files. (4 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check Passed Issue #1032 requirements are met. Continuous-paging public APIs, processors, configuration, metrics, and tests were removed. CqlSession retains ordinary synchronous, asynchronous, and reactive CQL A…
Out of Scope Changes check Passed The changes remain within issue #1032. Removed integration tests, documentation, metrics, configuration, codec registration, and compatibility guidance support the continuous-paging and DSE protocol r…
Title check Passed The title clearly identifies the main documented change: clarifying OptionsMap serialization upgrade guidance.
Description check Passed The description directly explains the OptionsMap serialization compatibility changes and fixture removal.

Full details: Docstring Coverage

Explanation

Docstring coverage is 5.56% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 36 functions across 16 files. (4 skipped: 4 unsupported.)


  • Fix all pre-merge checks with AI
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 85.47%. Comparing base (2fd39fa) to head (e82de4e).

Additional details and impacted files
@@               Coverage Diff                @@
##             scylla-4.x    #1041      +/-   ##
================================================
+ Coverage         85.45%   85.47%   +0.01%     
- Complexity         8312     8316       +4     
================================================
  Files               769      769              
  Lines             29468    29468              
  Branches           4102     4102              
================================================
+ Hits              25183    25188       +5     
+ Misses             4285     4280       -5     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dkropachev
dkropachev force-pushed the cleanup/1032-remove-dse-protocol branch from 52b6d58 to 562343c Compare October 11, 2026 04:32
@dkropachev
dkropachev requested a review from nikagra October 11, 2026 04:57
Comment thread upgrade_guide/README.md Outdated
Comment thread core/src/test/java/com/datastax/oss/driver/api/core/config/OptionsMapTest.java Outdated
Explain that defaults serialized by older releases cannot be read after the
DSE option removal, and remove the fixture for the unsupported old format.
@dkropachev
dkropachev force-pushed the cleanup/1032-remove-dse-protocol branch from 562343c to e82de4e Compare October 11, 2026 12:36
@dkropachev dkropachev changed the title Remove unused DSE protocol and continuous paging support Clarify OptionsMap serialization upgrade guidance Oct 11, 2026
@dkropachev
dkropachev requested a review from nikagra October 11, 2026 20:37
@dkropachev
dkropachev merged commit e809445 into scylla-4.x Oct 11, 2026
36 checks passed
@dkropachev
dkropachev deleted the cleanup/1032-remove-dse-protocol branch October 11, 2026 20:42
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.

2 participants