[ISSUE #9341]♻️Inject remoting command factories into Controller owners - #9342
Conversation
|
🔊@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💥. |
|
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 (12)
WalkthroughThe change injects ChangesController command ownership
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant NameServer
participant ControllerManager
participant ControllerRequestProcessor
participant OpenRaftController
NameServer->>ControllerManager: inject RemotingCommandFactory
ControllerManager->>OpenRaftController: pass factory during construction
ControllerManager->>ControllerRequestProcessor: expose configured factory
ControllerRequestProcessor->>OpenRaftController: request controller operation
OpenRaftController-->>ControllerRequestProcessor: create response with factory
Possibly related PRs
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 |
Which Issue(s) This PR Fixes(Closes)
Brief Description
RemotingCommandFactoryat each Controller composition boundary.How Did You Test This Change?
cargo test -p rocketmq-controller --lib(174 passed, 3 ignored)cargo test -p rocketmq-controller --tests -- --skip test_five_node_cluster(passed)cargo test -p rocketmq-controller --all-features --lib(175 passed, 3 ignored)cargo test -p rocketmq-controller --all-features --test remoting_command_factory_owner_audit(passed)cargo test -p rocketmq-namesrv --all-features --lib -- --skip config::tests::test_namesrv_config(257 passed)cargo test -p rocketmq-namesrv --features embedded-controller enable_controller_in_namesrv_lifecycle_matches_namesrv_runtime --lib(passed)cargo clippy -p rocketmq-controller --all-targets --all-features -- -D warnings(passed)cargo clippy -p rocketmq-namesrv --all-targets --all-features -- -D warnings(passed)cargo clippy --workspace --no-deps --all-targets --all-features -- -D warnings(passed)cargo +nightly-2026-07-05 check --locked --all-targets --all-featuresfromfuzz/(passed)cargo fmt -p rocketmq-controller -- --checkandcargo fmt -p rocketmq-namesrv -- --check(passed)scripts/runtime-audit.ps1 -SkipBaseline -EnforceBoundaryBaseline(passed)scripts/check-error-hygiene.ps1(passed)cargo doc -p rocketmq-controller -p rocketmq-namesrv --all-features --no-deps(passed with two pre-existing NameServer invalid-HTML-tag warnings)git diff --check(passed)The aggregate
cargo fmt --all -- --checkcommand remains unavailable on Windows because it exits with OS error 206; both changed packages pass their package-scoped format checks.test_five_node_clusterfails because a learner has not reached the committed-log frontier; the same command reproduces the failure on the unmodifiedmainbranch.Summary by CodeRabbit
New Features
Tests