Remove DynamoDB and Bigtable storage backends - #536
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
WalkthroughThe change removes DynamoDB and BigTable support from build configuration and storage selection, restricts AWS setup to supported cloud paths, updates backend documentation, and revises ChangesBackend consolidation
Write-time documentation
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related PRs
Suggested reviewers: Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@tx_service/include/store/data_store_handler.h`:
- Around line 132-135: The comment above the rollback timestamp behavior should
explicitly distinguish normal and recovery rollback rules: replace the undefined
“last_valid_ts...” wording with the normal base
max(kv_create_index_op_.write_time_, commit_ts_bound_) plus one, and document
that recovery rollback uses the timestamp base value. Preserve the existing
commit and write_time semantics while making the idempotence/overwrite invariant
clear.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: 669a6370-4124-42d9-8cee-8ab88b768f22
📒 Files selected for processing (23)
CLAUDE.mdCMakeLists.txtREADME.mdcore/include/data_substrate.hcore/src/data_substrate.cppcore/src/storage_init.cppdocs/01-architecture-overview.mddocs/09-store-handler.mdscripts/third_party/build-ubuntu2404.shstore_handler/bigtable_handler.cppstore_handler/bigtable_handler.hstore_handler/bigtable_scanner.cppstore_handler/bigtable_scanner.hstore_handler/dynamo_handler.cppstore_handler/dynamo_handler.hstore_handler/dynamo_handler_typed.cppstore_handler/dynamo_handler_typed.hstore_handler/dynamo_scanner.cppstore_handler/dynamo_scanner.hstore_handler/eloq_data_store_service/CMakeLists.txtthird_party/manifest.ymltx_service/README.mdtx_service/include/store/data_store_handler.h
💤 Files with no reviewable changes (9)
- store_handler/dynamo_scanner.h
- store_handler/bigtable_handler.h
- store_handler/bigtable_scanner.h
- store_handler/dynamo_handler_typed.cpp
- store_handler/dynamo_handler.h
- store_handler/dynamo_handler_typed.h
- store_handler/dynamo_scanner.cpp
- store_handler/bigtable_scanner.cpp
- store_handler/bigtable_handler.cpp
Context
DynamoDB and Bigtable are no longer supported storage backends, but their handlers, build-time options, dependency components, and documentation remained in the repository. Keeping these dead paths made the supported
WITH_DATA_STOREmatrix ambiguous and continued to build unused third-party SDK components.Behavior before and after
Before,
WITH_DATA_STOREadvertised and acceptedDYNAMODBandBIGTABLE, with legacy handler implementations and configuration flags still present.After, the supported backends are embedded RocksDB plus the EloqDSS RocksDB, RocksDB Cloud, and EloqStore variants. Configuring either removed value fails explicitly with
Unknown WITH_DATA_STORE.Implementation
Design decisions and alternatives
The backends are removed as a complete compatibility surface rather than hidden from the CMake cache only. This prevents stale macros or direct includes from preserving unsupported builds. AWS and Google Cloud dependencies remain because the supported S3 and GCS variants still require them.
Test plan
Commands and results:
clang-format-18was unavailable in the workspace. The C/C++ changes are branch and file removals; no runtime/TCL tests were run.Risk assessment
This intentionally breaks builds that still select
DYNAMODBorBIGTABLE. Supported RocksDB and EloqStore variants were rebuilt successfully. Cloud dependency pruning is limited to the removed SDK components; S3/GCS components remain enabled.Rollback plan
Revert this PR to restore the removed handlers, build options, and dependency components.
Reviewer guide
Start with
CMakeLists.txtandcore/src/storage_init.cpp, then review the deletedstore_handler/{dynamo,bigtable}_*files and the dependency changes inscripts/third_party/build-ubuntu2404.sh.Follow-up work
The EloqKV parent repository will carry this branch commit as its submodule pointer so parent CI can validate the combined change before this PR is merged.
Summary by CodeRabbit