Skip to content

chore: update data_substrate for brpc eventfd wakeup - #487

Open
thweetkomputer wants to merge 8 commits into
mainfrom
agent/test-data-substrate-brpc-eventfd
Open

chore: update data_substrate for brpc eventfd wakeup#487
thweetkomputer wants to merge 8 commits into
mainfrom
agent/test-data-substrate-brpc-eventfd

Conversation

@thweetkomputer

@thweetkomputer thweetkomputer commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Context

Exercise the eventfd worker-wakeup support merged in eloqdata/brpc#25 in EloqDoc CI, through eloqdata/tx_service#540.

EloqDoc compiled brpc with io_uring support, but its generated Data Substrate test configuration did not enable io_uring at runtime.

Changes

  • Advance src/mongo/db/modules/eloq/data_substrate to a7fe637cbed6ca151b9145f906757d980902a3b1.
  • That revision pins brpc master at c12822d4931a59a9c2cc42df061975e114e93590.
  • Set enable_io_uring=true in the Data Substrate configuration generated by EloqDoc CI.

Product source code, document formats, query behavior, and packaged user configuration are unchanged; the runtime setting change is confined to CI.

Validation

git diff --check origin/main...HEAD
PASS

The full EloqDoc build and integration suites are running in this PR's CI; they were not rerun locally for this dependency update.

Risk and rollback

The CI configuration requires a kernel supporting DEFER_TASKRUN and multishot poll. Potential regressions include startup failures, missed wakeups, or shutdown hangs. Revert this PR to restore the previous Data Substrate pointer and CI runtime setting.

Reviewer guide

Review .github/scripts/common.sh for the CI-only runtime toggle and verify Data Substrate at a7fe637cbed6ca151b9145f906757d980902a3b1, which pins brpc master at c12822d4931a59a9c2cc42df061975e114e93590.

Summary by CodeRabbit

  • New Features

    • Enabled IO_uring in the generated runtime configuration to improve asynchronous I/O performance and support more efficient background operations.
  • Maintenance

    • Updated the underlying data substrate component to include the latest improvements and fixes, helping maintain system stability and reliability.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

The PR updates the data substrate submodule reference and enables IO_uring in the generated data_substrate.cnf runtime configuration.

Changes

Data substrate runtime update

Layer / File(s) Summary
Update data substrate revision
src/mongo/db/modules/eloq/data_substrate
The submodule pointer moves to a newer commit.
Enable IO_uring configuration
.github/scripts/common.sh
The generated configuration sets enable_io_uring=true.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

Suggested labels: trigger-ci

Suggested reviewers: liunyl

Poem

A rabbit updates the runtime line,
IO_uring is set to true and fine.
The substrate hops ahead,
To a newer commit led.
The build now follows the sign.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly describes the dependency update for brpc eventfd wakeup validation, which is the main purpose of the changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/test-data-substrate-brpc-eventfd

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.

@thweetkomputer thweetkomputer changed the title test: enable io_uring for brpc eventfd validation test: enable io_uring with brpc eventfd wakeup Aug 4, 2026
@thweetkomputer
thweetkomputer marked this pull request as ready for review August 4, 2026 08:07
@thweetkomputer thweetkomputer changed the title test: enable io_uring with brpc eventfd wakeup chore: update data_substrate for brpc eventfd wakeup Aug 4, 2026

@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

🤖 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 `@src/mongo/db/modules/eloq/data_substrate`:
- Line 1: Update the Data Substrate gitlink to revision
39171c94549baf6d092ed4d24504fb94afd62785 instead of
a7fe637cbed6ca151b9145f906757d980902a3b1, preserving the module path and gitlink
structure.
🪄 Autofix

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: 6110aa06-57c4-4736-b04f-5dd1c2be40a0

📥 Commits

Reviewing files that changed from the base of the PR and between f5e72cf and 4d77288.

📒 Files selected for processing (1)
  • src/mongo/db/modules/eloq/data_substrate

@@ -1 +1 @@
Subproject commit 63db0ecbe3cd04e23282aa61af3961491647bddf
Subproject commit 39171c94549baf6d092ed4d24504fb94afd62785

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

path='src/mongo/db/modules/eloq/data_substrate'
expected='a7fe637cbed6ca151b9145f906757d980902a3b1'
actual="$(git ls-tree HEAD -- "$path" | awk 'NF >= 3 {print $3}')"

if [[ "$actual" != "$expected" ]]; then
  printf 'Expected %s at %s, found %s\n' "$expected" "$path" "$actual" >&2
  exit 1
fi

git diff --submodule=log HEAD^ HEAD -- "$path"

Repository: eloqdata/eloqdoc

Length of output: 296


🏁 Script executed:

#!/bin/bash
set -euo pipefail

path='src/mongo/db/modules/eloq/data_substrate'
actual="$(git ls-tree HEAD -- "$path" | awk 'NF >= 3 {print $3}')"
actual_prev="$(git ls-tree HEAD^ -- "$path" 2>/dev/null | awk 'NF >= 3 {print $3}' || true)"
expected='a7fe637cbed6ca151b9145f906757d980902a3b1'

printf 'HEAD submodule: %s\n' "$actual"
if [[ -n "$actual_prev" ]]; then
  printf 'HEAD^ submodule: %s\n' "$actual_prev"
fi
printf 'Match expected: %s\n' "$([ "$actual" = "$expected" ] && echo yes || echo no)"

git diff --submodule=log HEAD^ HEAD -- "$path" || true

Repository: eloqdata/eloqdoc

Length of output: 381


Point the Data Substrate gitlink to the required revision.

This module points to 39171c94549baf6d092ed4d24504fb94afd62785, not a7fe637cbed6ca151b9145f906757d980902a3b1. If the target revision is needed for io_uring support, update the gitlink so this change builds against the intended Data Substrate code.

🤖 Prompt for 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.

In `@src/mongo/db/modules/eloq/data_substrate` at line 1, Update the Data
Substrate gitlink to revision 39171c94549baf6d092ed4d24504fb94afd62785 instead
of a7fe637cbed6ca151b9145f906757d980902a3b1, preserving the module path and
gitlink structure.

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.

1 participant