Skip to content

Adjust hash partition mapping in Eloq submodules#121

Merged
thweetkomputer merged 1 commit intoeloqdata:eloq-10.6.10from
thweetkomputer:feat-hash-partition-ckpt-zc
Sep 22, 2025
Merged

Adjust hash partition mapping in Eloq submodules#121
thweetkomputer merged 1 commit intoeloqdata:eloq-10.6.10from
thweetkomputer:feat-hash-partition-ckpt-zc

Conversation

@thweetkomputer
Copy link
Collaborator

@thweetkomputer thweetkomputer commented Sep 19, 2025

Summary

  • bump eloq/store_handler to use the lower 10 hash bits for partition IDs and adopt std::ranges sort checks
  • expand the store handler’s .gitignore and fix the pool resize cast for clarity
  • sync eloq/tx_service to drop a stray blank line in the hash-partition data sync implementation

Summary by CodeRabbit

  • Chores
    • Updated internal storage components to newer upstream revisions to keep dependencies current.
    • No user-facing changes, behavior adjustments, or API modifications.
    • No impact on performance or compatibility; existing workflows continue to function as before.
    • No configuration changes required and no downtime expected.
    • No action needed from users for this update.

@coderabbitai
Copy link

coderabbitai bot commented Sep 19, 2025

Walkthrough

Updated submodule pointers for storage/eloq/store_handler and storage/eloq/tx_service to new commit SHAs. No source code, API, or behavioral changes in the parent repository.

Changes

Cohort / File(s) Summary
Submodule pointer updates
storage/eloq/store_handler, storage/eloq/tx_service
Bumped submodule references: storage/eloq/store_handler from 7ca9d319d3d24a7185c3594b4af2c9ed74093774e5975fbd1609a16a12e91aae567206d1b83283dc; storage/eloq/tx_service from 48e5c862f36a0e5096c7e1bae42a1790b7c0fba7f0ab43d1f52a06276493d86fdaa58f766de416af. No code/behavior changes in this repo.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

  • update subm #117 — Also updates storage/eloq/store_handler and storage/eloq/tx_service submodule pointers; closely related.
  • update subm #119 — Updates storage/eloq/store_handler submodule pointer; overlaps with this change.

Poem

I nudged the pins, not lines of lore,
Two tiny hashes, nothing more.
No logic danced, no tests to flit—
Just new addresses, snugly fit.
A rabbit's hop, a quiet commit. 🐇✨

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title succinctly and accurately summarizes the primary change—adjusting hash partition mapping in Eloq submodules—and matches the PR objectives describing updates to store_handler and tx_service; it is a short, clear single sentence that communicates the main intent to reviewers.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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

@thweetkomputer thweetkomputer force-pushed the feat-hash-partition-ckpt-zc branch from 557b0e7 to e2726a0 Compare September 19, 2025 07:41
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (1)
storage/eloq/store_handler (1)

1-1: Rollout note: 10‑bit partition remap may affect data placement and checkpoints.

If partition IDs now use the lower 10 hash bits, confirm:

  • No persisted identifiers or on-disk layouts depend on the old mapping.
  • Rebalancer/checkpoint logic can handle the remap without data loss or double processing.
  • Cross‑service messages/events that embed partition IDs remain compatible.

Consider a staged rollout with metrics and a quick rollback path.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 09cf357 and e2726a0.

📒 Files selected for processing (2)
  • storage/eloq/store_handler (1 hunks)
  • storage/eloq/tx_service (1 hunks)
🔇 Additional comments (3)
storage/eloq/store_handler (2)

1-1: LGTM on the pointer update.

Assuming the above checks pass, this submodule bump is good to merge.


1-1: Submodule bump to 443fce6: verify remote commit, 10‑bit partition assumptions, and C++20 ranges support.

Looks fine, but please verify:

  • The referenced SHAs exist in the submodule remotes.
  • Parent repo doesn’t assume a different partition bit width/mask.
  • CI/build uses C++20 (ranges) for the updated store_handler.

Run this script from the repo root:

storage/eloq/tx_service (1)

1-1: Submodule bump LGTM; please verify cross-service safety of the new hash-partition mapping.

  • Since store_handler now uses the lower 10 hash bits for partition IDs, confirm every producer/consumer that computes/relies on partition IDs (tx_service, ingest/workers, any client SDKs) uses the same mapping to avoid write/read skew.
  • If partition IDs are persisted (DB rows, Kafka keys, object prefixes, or checkpoints), plan a zero‑downtime rollout: either feature‑flag the new mapping, dual‑compute during the transition, or coordinate a strict deploy order so mixed versions don’t coexist.
  • Ensure CI toolchains are C++20‑ready for the std::ranges checks in store_handler.

Run these quick checks from repo root:

@thweetkomputer thweetkomputer force-pushed the feat-hash-partition-ckpt-zc branch from e2726a0 to 0aa6333 Compare September 22, 2025 03:59
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e2726a0 and 0aa6333.

📒 Files selected for processing (2)
  • storage/eloq/store_handler (1 hunks)
  • storage/eloq/tx_service (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • storage/eloq/store_handler

@@ -1 +1 @@
Subproject commit 48e5c862f36a0e5096c7e1bae42a1790b7c0fba7
Subproject commit 16f3cf1d6aabb763b1e8d2a71f0b06385a4631e3
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Submodule commit hash mismatch detected.

The submodule commit shown (16f3cf1d6aabb763b1e8d2a71f0b06385a4631e3) doesn't match either the old commit (48e5c862f36a0e5096c7e1bae42a1790b7c0fba7) or the expected new commit (f0ab43d1f52a06276493d86fdaa58f766de416af) mentioned in the AI summary. This inconsistency suggests the submodule may not be pointing to the intended commit.

Please verify the correct target commit for the tx_service submodule update:


🏁 Script executed:

#!/bin/bash
# Description: Verify the submodule commit and check if it contains the expected changes

# Check current submodule status
git submodule status storage/eloq/tx_service

# Show the submodule commit details
cd storage/eloq/tx_service
git log --oneline -5
git show --stat HEAD

# Check if this commit contains hash-partition related changes
git log --oneline --grep="hash.partition\|partition.*hash" -10
git log --oneline --grep="blank.*line\|sync" -5

Length of output: 1616


Fix tx_service submodule pointer (storage/eloq/tx_service).

  • Superproject records: 16f3cf1d6aabb763b1e8d2a71f0b06385a4631e3.
  • Local submodule HEAD: 0aa6333 (commit "update"; touches storage/eloq/store_handler and storage/eloq/tx_service).
  • Neither matches expected new commit f0ab43d1f52a06276493d86fdaa58f766de416af or old commit 48e5c862f36a0e5096c7e1bae42a1790b7c0fba7.
  • No commits matching the "hash-partition" grep were found in recent history.

Set the submodule to the intended commit and update the superproject pointer (fetch & checkout the target inside storage/eloq/tx_service, then git add/commit the submodule change).

🤖 Prompt for AI Agents
In storage/eloq/tx_service around line 1, the submodule pointer in the
superproject does not match the intended commit; fetch the target commit
f0ab43d1f52a06276493d86fdaa58f766de416af into the submodule and update the
superproject pointer: cd into storage/eloq/tx_service, run git fetch --all (or
fetch the correct remote), git checkout f0ab43d1f52a06276493d86fdaa58f766de416af
(or create a local branch at that commit), then cd back to the superproject, git
add storage/eloq/tx_service and git commit -m "Update storage/eloq/tx_service
submodule to f0ab43d1", and push the change; if the commit is not available from
the submodule remote, verify the correct remote/url or request the missing
commit from the author.

@thweetkomputer thweetkomputer merged commit 1235519 into eloqdata:eloq-10.6.10 Sep 22, 2025
2 of 3 checks passed
@thweetkomputer thweetkomputer deleted the feat-hash-partition-ckpt-zc branch September 22, 2025 07:24
This was referenced Oct 9, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants