Repository navigation
Conversation
ScyllaDB never sets system.local.dse_version, so get_schema_parser() never selected the DataStax Enterprise (DSE) schema parsers against it, and the graph/RLAC metadata they produced could never be populated. The code was already excluded from coverage for that reason. This follows the removal of DSE Graph support (#1128). Removed from cassandra/metadata.py: - SchemaParserDSE60, SchemaParserDSE67, SchemaParserDSE68 and the `if dse_version:` selection block in get_schema_parser(). - TableMetadataDSE68 and its vertex/edge attributes, VertexMetadata and EdgeMetadata (DSE 6.8 graph schema from system_schema.vertices/edges), and the vertex-first table ordering in KeyspaceMetadata.export_as_string(). - KeyspaceMetadata.graph_engine, its constructor argument, the graph_engine clause in as_cql_query(), and is_graph_enabled. - RLACTableExtension (DSE_RLACA row-level access control extension). - The DSE 6.0 'nodesync' entry in TableMetadataV3.option_maps; only the DSE parsers ever put that option into table options. get_schema_parser() keeps its dse_version parameter so positional callers are not silently shifted, but now ignores it. When release_version is unknown it no longer issues a second system.local query for dse_version (which ScyllaDB and Cassandra reject). Metadata.refresh() passes None for it. Host.dse_version is untouched: cluster.py still reads it for DSE native_address handling. Tests: drop the DSE parser selection and graph CQL export tests, the simulacron priming of the vertices/edges queries, the integration 'graph' workload JVM sizing, and the RLAC entry in the integration extension registry count. Add generic TableMetadataV3 CQL export, registered table extension and qualified replication class tests, which the removed graph tests used to exercise indirectly. Also drop the removed classes from the API docs and their coverage exclusions in pyproject.toml, and add a CHANGELOG entry. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QYcPjKDEQaQTfxpdfsFjZA
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 32 minutes. View limit details
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. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #1129 +/- ##
==========================================
+ Coverage 86.41% 86.46% +0.05%
==========================================
Files 43 43
Lines 18075 18063 -12
Branches 2776 2775 -1
==========================================
Hits 15619 15619
+ Misses 1836 1821 -15
- Partials 620 623 +3 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
5 of 8 tasks
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pre-review checklist
./docs/source/.Fixes:annotations to PR description.(Single commit by design. No new public items are introduced. The API docs edited are in
docs/api/. There is no linked issue.)Summary
Removes DataStax Enterprise (DSE)-only schema parsing and metadata from
cassandra/metadata.py. Follow-up to #1128 ("graph: remove DSE Graph support"). Please merge after #1128: on current master,Session._resolve_execution_profile_options(graph code) readsKeyspaceMetadata.graph_engine. #1128 removes that reader and this PR removes the attribute. The two PRs conflict only in theCHANGELOG.rst"Removed" section, which needs a trivial merge.Why
ScyllaDB never sets
system.local.dse_version, soget_schema_parser()never picks the DSE parsers against ScyllaDB. The graph (vertex/edge),graph_engineand RLAC metadata they produce is never populated. The code was already excluded from coverage for that reason.What's removed
SchemaParserDSE60,SchemaParserDSE67,SchemaParserDSE68, and thedse_versionbranch inget_schema_parser().TableMetadataDSE68(withvertex/edge),VertexMetadata,EdgeMetadata, and the vertex-first table ordering inKeyspaceMetadata.export_as_string().KeyspaceMetadata.graph_engine, thegraph_engineconstructor argument, thegraph_engineclause inas_cql_query(), andKeyspaceMetadata.is_graph_enabled.RLACTableExtension(DSE_RLACA).nodesyncentry inTableMetadataV3.option_maps. Only the DSE parsers ever produced that option.get_schema_parser()keeps itsdse_versionparameter for positional compatibility but ignores it. Whenrelease_versionis unknown, it no longer sends the extrasystem.localquery fordse_version, which ScyllaDB and Cassandra reject.Host.dse_versionis unchanged.pyproject.tomlcoverage exclusions for the removed code, and DSE-only test code: the parser selection and graph CQL tests, the simulacron vertices/edges priming, the integration'graph'workload JVM sizing, and the RLAC entry in the extension registry count.TableMetadataV3CQL export, registered table extensions and qualified replication class names. The removed graph tests used to exercise these paths indirectly.Coverage (unit only,
scripts/coverage.sh, same environment)cassandra/metadata.pyVerification
compress-lz4extra,CASS_DRIVER_NO_SKIP=1: 1576 passed, 0 skipped.EVENT_LOOP_MANAGER=asyncioreactor tests: 41 passed.make -C docs test: passes.metadata.pyand the edited tests: no new warnings.cluster.pyline graph: remove DSE Graph support #1128 removes.git merge-treeagainst graph: remove DSE Graph support #1128: conflict only inCHANGELOG.rst.CASS_DRIVER_NO_CYTHON=1 CASS_DRIVER_NO_SKIP=1, the unit suite (excluding the Cython-only tests) gives the same failure/error set as plain master. All of those fail on master in the same environment too.🤖 Generated with Claude Code
https://claude.ai/code/session_01QYcPjKDEQaQTfxpdfsFjZA
Generated by Claude Code