[ISSUE #9332]♻️Inject remoting command factories into BrokerOuterAPI - #9333
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (4)
WalkthroughBrokerOuterAPI now owns an injectable ChangesBroker remoting factory integration
Estimated code review effort: 3 (Moderate) | ~25 minutes Possibly related issues
Possibly related PRs
Suggested labels: Suggested reviewers: Poem
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 |
|
🔊@mxsm 🚀Thanks for your contribution🎉! 💡CodeRabbit(AI) will review your code first🔥! Note 🚨The code review suggestions from CodeRabbit are to be used as a reference only, and the PR submitter can decide whether to make changes based on their own judgment. Ultimately, the project management personnel will conduct the final code review💥. |
Which Issue(s) This PR Fixes(Closes)
Brief Description
BrokerOuterAPIan immutable, owner-scopedRemotingCommandFactory.Motivation
BrokerOuterAPIproduces outbound commands for NameServer, controller, peer-broker, send, and pull operations. Static constructors bypassed the factory selected by an embedded or test owner, so independently configured owners could not reliably retain distinct remoting versions and serialization types.Implementation
How Did You Test This Change?
cargo check -p rocketmq-broker --all-featurescargo test -p rocketmq-broker --lib --all-features(825 passed, 2 ignored)cargo clippy -p rocketmq-broker --no-deps --all-targets --all-features -- -D warningscargo clippy --workspace --no-deps --all-targets --all-features -- -D warningscargo +nightly-2026-07-05 check --locked --all-targets --all-featuresinfuzz/git diff --checkThe aggregate Windows
cargo fmt --all -- --checkinvocation still reaches OS error 206 because of the workspace command length. Every root workspace package passed its equivalent non-mutating format check individually.Compatibility
Request codes, typed headers, bodies, flags, opaque values, RPC hooks, and wire encoding behavior remain unchanged. Existing public constructors continue to use the application defaults; explicit constructors allow owner-specific defaults.
Summary by CodeRabbit
New Features
Bug Fixes