librocksdb_sys: link liburing when RocksDB enables io_uring#849
librocksdb_sys: link liburing when RocksDB enables io_uring#849MeteorSkyOne wants to merge 2 commits intotikv:masterfrom
Conversation
|
Hi @MeteorSkyOne. Thanks for your PR. I'm waiting for a tikv member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Welcome @MeteorSkyOne! |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughAdds a non-public helper to the build script that parses CMakeCache.txt for an Changes
Sequence Diagram(s)sequenceDiagram
participant BuildRs as build.rs
participant CMake as CMakeCache.txt
participant Cargo as Cargo (rustc)
BuildRs->>CMake: read CMakeCache.txt
alt found uring_LIBRARIES entry
BuildRs->>BuildRs: parse filepath, derive libname
BuildRs->>Cargo: emit cargo:rustc-link-search=native=<parent>
alt filename ends with .a
BuildRs->>Cargo: emit cargo:rustc-link-lib=static=<libname>
else
BuildRs->>Cargo: emit cargo:rustc-link-lib=dylib=<libname>
end
else
BuildRs-->>BuildRs: return without uring directives
end
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Suggested labels
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 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 |
Signed-off-by: MeteroSky <meteorskymail@gmail.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@librocksdb_sys/build.rs`:
- Line 174: The call to link_optional_uring(&build_dir) is emitted before the
rocksdb/titan cargo:rustc-link-lib directives which reverses the required link
order; move the link_optional_uring(&build_dir) invocation so it runs after the
code that prints the rocksdb and titan link directives (i.e., after the section
that emits those cargo:rustc-link-lib lines for rocksdb/titan) so liburing's
cargo:rustc-link-lib lines are printed last and preserve correct dependency
ordering.
Signed-off-by: MeteroSky <meteorskymail@gmail.com>
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Connor1996 The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
[LGTM Timeline notifier]Timeline:
|
|
@MeteorSkyOne: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
@Connor1996 it looks like the openssl-devel version in this CI is too old? |
Fix missing
liburinglinkage inlibrocksdb_sys.When RocksDB is built with
WITH_LIBURING=ON, CMake enablesio_uringsupport, butbuild.rsdoes not forwardliburingto Cargo's final link step. This causes Linux builds to fail with undefinedio_uring_*symbols.Summary by CodeRabbit