Skip to content

adapt to new parameters and add new dependencies#268

Merged
thweetkomputer merged 2 commits into
mainfrom
aws_sdk_zc
Dec 5, 2025
Merged

adapt to new parameters and add new dependencies#268
thweetkomputer merged 2 commits into
mainfrom
aws_sdk_zc

Conversation

@thweetkomputer

@thweetkomputer thweetkomputer commented Dec 5, 2025

Copy link
Copy Markdown
Collaborator

Here are some reminders before you submit the pull request

  • Add tests for the change
  • Document changes
  • Reference the link of issue using fixes eloqdb/tx_service#issue_id
  • Reference the link of RFC if exists
  • Pass ./mtr --suite=mono_main,mono_multi,mono_basic

Summary by CodeRabbit

  • New Features

    • Added cloud storage configuration: provider selection, custom endpoint, region, access credentials, and SSL verification toggle.
  • Chores

    • Removed legacy daemon port configuration.
    • Updated build dependencies to support cloud storage integration.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai

coderabbitai Bot commented Dec 5, 2025

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

Walkthrough

Adds AWS S3 integration by linking AWSSDK into the build and introduces six new EloqStore cloud configuration flags and corresponding config fields while removing legacy cloud_store_daemon_ports handling.

Changes

Cohort / File(s) Summary
CMake Build Configuration
store_handler/eloq_data_store_service/build_eloq_store.cmake
Added find_package(AWSSDK REQUIRED COMPONENTS s3) and appended ${AWSSDK_LINK_LIBRARIES} to target_link_libraries(eloqstore ...).
Cloud Configuration
store_handler/eloq_data_store_service/eloq_store_config.cpp
Introduced flags: eloq_store_cloud_provider, eloq_store_cloud_endpoint, eloq_store_cloud_region, eloq_store_cloud_access_key, eloq_store_cloud_secret_key, eloq_store_cloud_verify_ssl. Added corresponding EloqStoreConfig fields and initialization from flags/INI; removed cloud_store_daemon_ports.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Check correct AWSSDK component name and linkage visibility in CMake.
  • Verify flag-to-config mapping and INI fallback behavior in eloq_store_config.cpp.

Possibly related PRs

  • adapt parameter #257: Edits store_handler/eloq_data_store_service/eloq_store_config.cpp to add and wire configuration flags (similar area and initialization patterns).

Suggested reviewers

  • MrGuin

Poem

🐰 I nibbled keys and found a stream,

S3 stars now light our dream,
Flags unfurled, the ports unwind,
Cloud-bound carrots, neatly signed,
Hop—configured, safe, and primed.

Pre-merge checks and finishing touches

❌ Failed checks (2 warnings, 1 inconclusive)
Check name Status Explanation Resolution
Description check ⚠️ Warning The pull request description only contains the template checklist with all items unchecked, lacking any meaningful content about the actual changes or objectives. Fill in the description with details about the changes (AWS SDK integration, cloud configuration parameters, and legacy daemon ports removal), and address each checklist item appropriately.
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
Title check ❓ Inconclusive The title 'adapt to new parameters and add new dependencies' is vague and generic, using non-descriptive terms that don't clearly convey the specific changes. Consider a more specific title such as 'Add AWS SDK S3 integration and cloud configuration parameters' to better describe the main change.

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 4feebdc and f39b6a3.

📒 Files selected for processing (1)
  • store_handler/eloq_data_store_service/eloq_store_config.cpp (2 hunks)

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 and usage tips.

@thweetkomputer thweetkomputer requested a review from MrGuin December 5, 2025 07:50

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🧹 Nitpick comments (2)
store_handler/eloq_data_store_service/build_eloq_store.cmake (1)

115-115: Linking with ${AWSSDK_LINK_LIBRARIES} is fine; consider imported targets as a future cleanup

Appending ${AWSSDK_LINK_LIBRARIES} to target_link_libraries(eloqstore PRIVATE ...) is a reasonable way to pull in S3 and its transitive dependencies, and keeping it PRIVATE is appropriate for a static library. Two follow‑ups to keep in mind:

  • Ensure your AWSSDK CMake package actually defines AWSSDK_LINK_LIBRARIES; some installs rely solely on imported targets like AWS::aws-cpp-sdk-s3.
  • Longer term, consider switching to explicit imported targets for clarity and stronger CMake hygiene, e.g. (names may differ depending on your SDK version):
-target_link_libraries(eloqstore PRIVATE ${URING_LIB} Boost::context glog::glog absl::flat_hash_map jsoncpp_lib ${CURL_LIBRARIES} ${ZSTD_LIBRARY} ${AWSSDK_LINK_LIBRARIES})
+target_link_libraries(eloqstore PRIVATE
+    ${URING_LIB}
+    Boost::context
+    glog::glog
+    absl::flat_hash_map
+    jsoncpp_lib
+    ${CURL_LIBRARIES}
+    ${ZSTD_LIBRARY}
+    AWS::aws-cpp-sdk-s3    # or the appropriate imported target(s) for your AWSSDK version
+)

This can be deferred; current linking is acceptable if it works with your installed SDK.

store_handler/eloq_data_store_service/eloq_store_config.cpp (1)

287-322: Config wiring for new cloud fields looks correct; consider small usability checks.

The new cloud_* fields follow the existing pattern (CheckCommandLineFlagIsDefault with INI fallback) and the types (string vs bool) line up correctly with the GetString/GetBoolean calls, so behavior here looks sound.

As an optional follow‑up, you might:

  • Validate combinations early (e.g., non‑empty cloud_store_path with missing cloud_region or credentials, depending on provider), and
  • Log non‑sensitive pieces like cloud_provider, cloud_region, cloud_endpoint, and cloud_verify_ssl at startup (keeping keys out of logs) to simplify debugging misconfigurations.
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 17837f6 and 4feebdc.

📒 Files selected for processing (2)
  • store_handler/eloq_data_store_service/build_eloq_store.cmake (2 hunks)
  • store_handler/eloq_data_store_service/eloq_store_config.cpp (2 hunks)
🔇 Additional comments (1)
store_handler/eloq_data_store_service/build_eloq_store.cmake (1)

29-29: Confirm AWSSDK CMake package name and S3 component match your SDK installation

find_package(AWSSDK REQUIRED COMPONENTS s3) is consistent with the official AWS SDK for C++ CMake integration, but some environments/distros expose the SDK under different package names or component sets (e.g., AwsSdkCpp, or needing additional components like core). Please verify this find_package call against the actual AWS SDK CMake config used in your CI/build images so configuration doesn’t fail at configure time.

Comment thread store_handler/eloq_data_store_service/eloq_store_config.cpp
@thweetkomputer thweetkomputer merged commit 116507e into main Dec 5, 2025
3 of 4 checks passed
@thweetkomputer thweetkomputer deleted the aws_sdk_zc branch December 5, 2025 07:55
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