Skip to content

Remove DSE Graph support and TinkerPop integration - #1036

Open
dkropachev wants to merge 1 commit into
scylla-4.xfrom
cleanup/1028-remove-dse-graph
Open

Remove DSE Graph support and TinkerPop integration#1036
dkropachev wants to merge 1 commit into
scylla-4.xfrom
cleanup/1028-remove-dse-graph

Conversation

@dkropachev

@dkropachev dkropachev commented Aug 31, 2026

Copy link
Copy Markdown

Closes #1028. Part of #1025.

Remove unsupported DSE Graph APIs, request processors, serializers, metrics, tests, OSGi fixtures, documentation, and the TinkerPop/JavaTuples dependency chain. DSE geometry and schema metadata remain for follow-up cleanup.

Validation:

  • mvn -pl core,metrics/micrometer,metrics/microprofile,test-infra test — 3,724 tests passed
  • mvn -pl integration-tests,osgi-tests -am -DskipTests test-compile
  • mvn -DskipTests install — full 17-module reactor

@coderabbitai

coderabbitai Bot commented Aug 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Too many files!

This PR contains 203 files, which is 103 over the limit of 100.

To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry.

Check out review usage here.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: QUIET

Plan: Team

Run ID: d19d68ca-0418-4611-b676-67998ceedab0

📥 Commits

Reviewing files that changed from the base of the PR and between 55bbdeb and c9be75d.

📒 Files selected for processing (203)
  • changelog/README.md
  • core-shaded/pom.xml
  • core/pom.xml
  • core/src/main/java/com/datastax/dse/driver/api/core/auth/ProxyAuthentication.java
  • core/src/main/java/com/datastax/dse/driver/api/core/config/DseDriverOption.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/AsyncGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/BatchGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/BatchGraphStatementBuilder.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/DseGraph.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/DseGraphRemoteConnectionBuilder.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/FluentGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/FluentGraphStatementBuilder.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/GraphExecutionInfo.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/GraphNode.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/GraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/GraphSession.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/GraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/GraphStatementBuilderBase.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/PagingEnabledOptions.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/ScriptGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/ScriptGraphStatementBuilder.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/predicates/CqlCollection.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/predicates/Geo.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/predicates/Search.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/reactive/ReactiveGraphNode.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/reactive/ReactiveGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/api/core/graph/reactive/ReactiveGraphSession.java
  • core/src/main/java/com/datastax/dse/driver/api/core/metrics/DseNodeMetric.java
  • core/src/main/java/com/datastax/dse/driver/api/core/metrics/DseSessionMetric.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/data/geometry/Distance.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/data/geometry/DistanceSerializationProxy.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/ByteBufUtil.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/BytecodeGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/ContinuousAsyncGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/ContinuousGraphRequestHandler.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/CqlCollectionPredicate.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DefaultAsyncGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DefaultBatchGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DefaultDseRemoteConnectionBuilder.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DefaultFluentGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DefaultScriptGraphStatement.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DseGraphRemoteConnection.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DseGraphTraversal.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/DsePredicate.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/EditDistance.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GeoPredicate.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GeoUtils.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphConversions.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphExecutionInfoConverter.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphProtocol.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphRequestAsyncProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphRequestHandler.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphRequestSyncProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphResultIterator.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphResultSets.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphSON1SerdeTP.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphSON2SerdeTP.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphSONUtils.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphStatementBase.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/GraphSupportChecker.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/LegacyGraphNode.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/MultiPageGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/ObjectGraphNode.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/SearchPredicate.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/SearchUtils.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/SinglePageGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/TinkerpopBufferUtil.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/AbstractDynamicGraphBinaryCustomSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/AbstractSimpleGraphBinaryCustomSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/ComplexTypeSerializerUtil.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/CqlDurationSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/DistanceSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/EditDistanceSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/GeometrySerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/GraphBinaryModule.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/GraphBinaryUtils.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/LineStringSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/PairSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/PointSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/PolygonSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/TupleValueSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/UdtValueSerializer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/buffer/DseNettyBuffer.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/binary/buffer/DseNettyBufferFactory.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/reactive/DefaultReactiveGraphNode.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/reactive/DefaultReactiveGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/reactive/FailedReactiveGraphResultSet.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/reactive/ReactiveGraphRequestProcessor.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/graph/reactive/ReactiveGraphResultSetSubscription.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/insights/ExecutionProfilesInfoFinder.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/insights/schema/SpecificExecutionProfile.java
  • core/src/main/java/com/datastax/dse/driver/internal/core/protocol/TinkerpopBufferPrimitiveCodec.java
  • core/src/main/java/com/datastax/oss/driver/api/core/CqlSession.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/NodeMetric.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/metrics/DropwizardNodeMetricUpdater.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/session/BuiltInRequestProcessorsSubstitutions.java
  • core/src/main/java/com/datastax/oss/driver/internal/core/util/Dependency.java
  • core/src/main/resources/reference.conf
  • core/src/test/java/com/datastax/dse/driver/Assertions.java
  • core/src/test/java/com/datastax/dse/driver/DseTestDataProviders.java
  • core/src/test/java/com/datastax/dse/driver/TinkerpopBufferAssert.java
  • core/src/test/java/com/datastax/dse/driver/api/core/graph/predicates/CqlCollectionTest.java
  • core/src/test/java/com/datastax/dse/driver/api/core/graph/predicates/GeoTest.java
  • core/src/test/java/com/datastax/dse/driver/api/core/graph/predicates/SearchTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/data/geometry/DistanceTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/data/geometry/SerializationUtils.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/ContinuousGraphRequestHandlerSpeculativeExecutionTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/ContinuousGraphRequestHandlerTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphExecutionInfoConverterTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphNodeTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphRequestHandlerTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphRequestHandlerTestHarness.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphResultSetTestBase.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphResultSetsTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphStatementBuilderBaseTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphSupportCheckerTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/GraphTestUtils.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/binary/GraphDataTypesTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/reactive/ReactiveGraphRequestProcessorTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/graph/schema/refresh/GraphSchemaRefreshTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/insights/ExecutionProfileMockUtil.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/insights/ExecutionProfilesInfoFinderTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/insights/InsightsClientTest.java
  • core/src/test/java/com/datastax/dse/driver/internal/core/protocol/TinkerpopBufferPrimitiveCodecTest.java
  • distribution/pom.xml
  • integration-tests/pom.xml
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/ClassicGraphDataTypeITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/ClassicGraphGeoSearchIndexIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/ClassicGraphTextSearchIndexIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/CoreGraphDataTypeITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/CoreGraphGeoSearchIndexIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/CoreGraphTextSearchIndexIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/CqlCollectionIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphAuthenticationIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphGeoSearchIndexITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphPagingIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphSpeculativeExecutionIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphTestSupport.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphTextSearchIndexITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/GraphTimeoutsIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SampleGraphScripts.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalDsl.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/SocialTraversalSourceDsl.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerEdgeAssert.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerElementAssert.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerGraphAssertions.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerPathAssert.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerTreeAssert.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerVertexAssert.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/TinkerVertexPropertyAssert.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/reactive/DefaultReactiveGraphResultSetIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/ClassicGraphDataTypeRemoteIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/ClassicGraphTraversalRemoteIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/CoreGraphDataTypeRemoteIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/CoreGraphTraversalRemoteIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalMetaPropertiesRemoteIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalMultiPropertiesRemoteIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/remote/GraphTraversalRemoteITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/ClassicGraphDataTypeFluentIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/ClassicGraphDataTypeScriptIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/ClassicGraphTraversalBatchIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/ClassicGraphTraversalIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/CoreGraphDataTypeFluentIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/CoreGraphDataTypeScriptIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/CoreGraphTraversalBatchIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/CoreGraphTraversalIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/GraphTraversalBatchITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/GraphTraversalITBase.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/GraphTraversalMetaPropertiesIT.java
  • integration-tests/src/test/java/com/datastax/dse/driver/api/core/graph/statement/GraphTraversalMultiPropertiesIT.java
  • integration-tests/src/test/resources/application.conf
  • manual/core/graalvm/README.md
  • manual/core/integration/README.md
  • manual/developer/request_execution/README.md
  • metrics/micrometer/src/main/java/com/datastax/oss/driver/internal/metrics/micrometer/MicrometerNodeMetricUpdater.java
  • 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/MicrometerNodeMetricUpdaterTest.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/MicroProfileNodeMetricUpdater.java
  • metrics/microprofile/src/main/java/com/datastax/oss/driver/internal/metrics/microprofile/MicroProfileSessionMetricUpdater.java
  • osgi-tests/pom.xml
  • osgi-tests/src/main/java/com/datastax/oss/driver/api/osgi/service/graph/GraphMailboxService.java
  • osgi-tests/src/main/java/com/datastax/oss/driver/internal/osgi/MailboxActivator.java
  • osgi-tests/src/main/java/com/datastax/oss/driver/internal/osgi/service/graph/GraphMailboxServiceImpl.java
  • osgi-tests/src/main/resources/application.conf
  • osgi-tests/src/test/java/com/datastax/oss/driver/internal/osgi/OsgiDefaultIT.java
  • osgi-tests/src/test/java/com/datastax/oss/driver/internal/osgi/OsgiGraphIT.java
  • osgi-tests/src/test/java/com/datastax/oss/driver/internal/osgi/checks/GraphServiceChecks.java
  • osgi-tests/src/test/java/com/datastax/oss/driver/internal/osgi/support/BundleOptions.java
  • osgi-tests/src/test/java/com/datastax/oss/driver/internal/osgi/support/CcmStagedReactor.java
  • pom.xml
  • test-infra/pom.xml
  • test-infra/src/main/java/com/datastax/oss/driver/api/testinfra/session/CqlSessionRuleBuilder.java
  • test-infra/src/main/java/com/datastax/oss/driver/api/testinfra/session/SessionRule.java
  • test-infra/src/main/java/com/datastax/oss/driver/api/testinfra/session/SessionRuleBuilder.java
  • test-infra/src/main/java/com/datastax/oss/driver/internal/gremlin/PatchedGremlinDslProcessor.java
  • upgrade_guide/README.md
  • upgrade_guide/from_3x/README.md

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


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.

Remove unsupported Graph APIs, request processing, serializers, metrics, tests, fixtures, documentation, and optional dependencies. Keep DSE geometry and schema metadata for follow-up cleanup.
@dkropachev
dkropachev force-pushed the cleanup/1028-remove-dse-graph branch from 6c7b536 to c9be75d Compare September 2, 2026 01:12
@dkropachev dkropachev changed the title Remove unused DSE Graph support Remove DSE Graph support and TinkerPop integration Sep 2, 2026

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.

🔵 Needs a closer look

It removes a broad public API and integration surface across multiple modules, warranting final human verification despite comprehensive validation.

Pull request overview

Removes unsupported DSE Graph and TinkerPop integration while preserving generic reactive CQL, geometry, and schema metadata.

Changes:

  • Deletes Graph APIs, processors, serializers, tests, fixtures, and configuration.
  • Removes TinkerPop/JavaTuples dependencies and packaging hooks.
  • Updates metrics, documentation, and supporting infrastructure.
File summaries
File group Description
core/src/main/java/**/graph/** Removes Graph APIs, predicates, processors, results, reactive support, and serializers.
core/src/test/java/**/graph/** Removes Graph unit tests and helpers.
integration-tests/src/test/java/**/graph/** Removes Graph integration tests, assertions, traversal DSLs, and fixtures.
osgi-tests/**/graph/** Removes Graph OSGi services, checks, and integration tests.
test-infra/.../PatchedGremlinDslProcessor.java Removes the Gremlin annotation processor patch.
test-infra/.../SessionRuleBuilder.java Removes Graph session options.
test-infra/.../CqlSessionRuleBuilder.java Simplifies ordinary CQL session construction.
pom.xml, core/pom.xml, core-shaded/pom.xml Removes managed and module-level TinkerPop dependencies.
test-infra/pom.xml, integration-tests/pom.xml, osgi-tests/pom.xml Removes Graph test dependencies and annotation-processing configuration.
distribution/pom.xml Removes TinkerPop and JavaTuples distribution dependencies.
core/.../CqlSession.java Removes Graph session inheritance and updates documentation.
core/.../BuiltInRequestProcessors*.java Removes Graph request processors and simplifies native-image substitutions.
core/.../Dependency.java Removes TinkerPop runtime dependency detection.
core/.../OptionsMap.java Removes Graph configuration defaults.
core/.../MetricPaths.java, core/.../Dse*Metric.java Removes Graph metric definitions and parsing.
core/.../Dropwizard*MetricUpdater.java Removes Dropwizard Graph metrics.
metrics/micrometer/** Removes Micrometer Graph metrics and test cases.
metrics/microprofile/** Removes MicroProfile Graph metrics.
core/.../SpecificExecutionProfile.java Removes Graph options from Insights payloads.
core/.../ExecutionProfilesInfoFinder.java Stops collecting Graph execution-profile options.
core/.../insights/*Test.java Updates Insights expectations after Graph removal.
core/.../ProxyAuthentication.java Removes Graph-statement proxy authentication overload.
core/.../SerializationUtils.java Updates geometry serialization assertions after removing Graph-only distance support.
osgi-tests/.../CcmStagedReactor.java Stops enabling DSE Graph workloads.
osgi-tests/.../BundleOptions.java Removes TinkerPop OSGi bundles.
osgi-tests/.../MailboxActivator.java Removes Graph mailbox service registration.
osgi-tests/.../application.conf Removes Graph configuration.
integration-tests/.../application.conf Removes Graph integration-test configuration.
manual/core/integration/README.md Removes TinkerPop integration instructions.
manual/core/graalvm/README.md Removes Graph native-image guidance.
manual/developer/request_execution/README.md Removes Graph execution-model examples.
upgrade_guide/README.md Removes obsolete Graph dependency guidance.
upgrade_guide/from_3x/README.md Updates request-processing guidance.
changelog/README.md Records the Graph removal.
Review details
  • Files reviewed: 141/203 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@nikagra nikagra 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.

Comments inline.

*
* <p>Value type: {@link String}
*/
GRAPH_TRAVERSAL_SOURCE("basic.graph.traversal-source"),

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Blocker] 🔴 Public enum constants removed with no deprecation cycle, in a 4th-component version (4.19.2.2-SNAPSHOT).

Beyond source compatibility: OptionsMap.SerializationProxy serializes Map<DriverOption, Object> directly and Java serializes enums by name, so any OptionsMap written by a <=4.19.2 driver fails to deserialize with InvalidObjectException: enum constant GRAPH_TRAVERSAL_SOURCE does not exist in class DseDriverOption. fillWithDriverDefaults put this constant unconditionally, so it is every serialized instance - which is the distributed-config case the Serializable contract exists for.

revapi will not catch it here: the verify log shows Comparing [] against [com.scylladb:java-driver-core:jar:4.19.2.2-SNAPSHOT], so the old artifact never resolves and core/revapi.json is inert.

Suggest keeping the constants @Deprecated and removing only the implementation, the way RESOLVE_CONTACT_POINTS was handled. Same for the ~20 TypedDriverOption fields, DseNodeMetric, the two DseSessionMetric constants, and dropping GraphSession/ReactiveGraphSession from CqlSession.

// defined or in reference.conf)
: actualSupplier.get());

DriverConfigLoader actualLoader = loader == null ? new DefaultDriverConfigLoader() : loader;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Major] 🟠 This hands the caller's loader instance to the session. The old code always re-wrapped getConfigSupplier() in a fresh DefaultDriverConfigLoader, so every rule got its own TypesafeDriverConfig and its own SingleThreaded reload state.

With a shared loader - SessionRule.builder(res).withConfigLoader(l) alongside SessionUtils.newSession(res, l) - DefaultDriverConfigLoader.onDriverInit overwrites the loader's single singleThreaded field: the first session's periodic-reload future is orphaned and reload()/close() only ever affect the last session. Both sessions also read the same mutable config from getInitialConfig(), so a reload through one silently changes the other's getContext().getConfig().

Re-wrapping keeps the isolation while staying much shorter than the old block:

DriverConfigLoader actualLoader =
    loader instanceof DefaultDriverConfigLoader
        ? new DefaultDriverConfigLoader(
            ((DefaultDriverConfigLoader) loader).getConfigSupplier())
        : loader;

Separately, loader == null ? new DefaultDriverConfigLoader() : loader duplicates the fallback already in SessionBuilder.buildAsync and drops its class-loader-aware defaultConfigLoader(programmaticArguments.getClassLoader()) variant - passing null straight through lets SessionBuilder apply the right default.

import org.mockito.junit.MockitoJUnitRunner;

@RunWith(MockitoJUnitRunner.class)
public class GraphSchemaRefreshTest {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Major] 🟠 The PR keeps the graph schema metadata - DseVertexMetadata, DseEdgeMetadata, graph_engine on DefaultDseKeyspaceMetadata, DefaultDseTableMetadata - but deletes its only unit test. This file imports nothing the PR removes; it would still compile and pass.

After the merge git grep DseVertexMetadata -- '*Test.java' is empty. What is left is KeyspaceGraphMetadataIT/TableGraphMetadataIT, which are DSE-only and do not run in this fork's CI. A SchemaRefresh regression on graph_engine change detection or on vertex/edge label diffing would ship with no test signal. Suggest keeping it until the metadata itself goes in #1025.

Comment thread upgrade_guide/README.md
Comment on lines +531 to +533
* new execution methods: `CqlSession.executeContinuously*`. They have default implementations so
this doesn't break binary compatibility. You can just ignore them.
* new driver dependencies: ESRI and Reactive Streams. If you want to keep your classpath

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Major] 🟠 This rewrites history instead of recording the change. Users upgrading 4.3->4.4 on those driver versions did get executeGraph and a mandatory TinkerPop dependency; the guide now tells them otherwise. Same for the deleted #### DSE Graph dependencies are now optional section (L513-543) - that is the factual record of what 4.10.0 changed.

Meanwhile the change that does need documenting is not here: nothing states that executeGraph, DseNodeMetric, DseSessionMetric.GRAPH_*, the basic.graph/advanced.graph config trees and the graph-requests/graph-messages/graph-client-timeouts metrics are gone as of this version. An app setting advanced.graph.name gets a silently ignored key with no migration note to consult. Suggest leaving the historical sections intact and adding a new one for this release.

Comment thread changelog/README.md

### 4.19.2

- [improvement] Remove unused DSE Graph support and TinkerPop integration (#1028)

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Minor] 🟡 Two things. This lands under ### 4.19.2, which is already released, while the working version is 4.19.2.2-SNAPSHOT - anyone diffing 4.19.2 against its published artifact sees an entry that was not in it. And [improvement] puts a binary-breaking change (CqlSession no longer implements GraphSession, 20 DseDriverOption constants deleted) in the same bucket as "Remove unnecessary locking in DefaultNettyOptions" - that tag is the signal users scan before a patch upgrade to decide whether they have to recompile.

* built-in codec.
*/
@Immutable
public class Distance extends DefaultGeometry {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Minor] 🟡 The description scopes geometry out ("DSE geometry and schema metadata remain for follow-up cleanup"), but this drops Distance, DistanceSerializationProxy and DistanceTest, and strips the if (!(geometry instanceof Distance)) WKB guard from SerializationUtils. Behaviour-neutral today - Geo/GeoPredicate were the only consumers - but it leaves the geometry package half-gutted for #1025 with no changelog or description record, so whoever picks that up diffs against a state the issue does not describe. Either keep it for the geometry PR or say in the description that it went with its only callers.

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.

Remove DSE Graph support and TinkerPop integration

3 participants