[ISSUE #10823] Optimize BrokerShutdownTest execution time - #10824
Draft
fuyou001 wants to merge 1 commit into
Draft
[ISSUE #10823] Optimize BrokerShutdownTest execution time#10824fuyou001 wants to merge 1 commit into
fuyou001 wants to merge 1 commit into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #10824 +/- ##
=============================================
- Coverage 48.32% 48.25% -0.07%
+ Complexity 13516 13501 -15
=============================================
Files 1380 1380
Lines 101138 101138
Branches 13120 13120
=============================================
- Hits 48876 48809 -67
- Misses 46298 46345 +47
- Partials 5964 5984 +20 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
RockteMQ-AI
approved these changes
Aug 6, 2026
RockteMQ-AI
left a comment
Contributor
There was a problem hiding this comment.
Summary
Optimizes BrokerShutdownTest by reducing redundant broker lifecycle setups from 4 to 2, keeping the test within Bazel's 60-second small-test timeout. Changes look solid.
Findings
- [Info] Good use of
System.nanoTime()overSystem.currentTimeMillis()for elapsed-time measurement — avoids wall-clock skew. - [Info] Promoting
brokerControllerto an instance field with@Aftercleanup is a good pattern for test isolation. - [Info] The merged
testBrokerGracefulShutdownAndResourceCleanupcorrectly verifies state-machine transitions (SHUTDOWN_OK) instead of just boolean flags — more precise assertions. - [Info]
testShutdownFromAnotherThreadusingExecutorService/Futureis cleaner than rawThread+CountDownLatch.
Verdict
LGTM — well-structured test optimization with improved assertions and proper cleanup.
Automated review by github-manager-bot
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Which Issue(s) This PR Fixes
Brief Description
BrokerShutdownTestcurrently starts and stops a complete broker four times. Each lifecycle takes roughly 15-25 seconds, so the test class exceeds Bazel's 60-second small-test timeout.This change keeps the default broker configuration and reduces redundant lifecycle setup from four instances to two:
Future#get;MessageStorereachesSHUTDOWN_OKafter both shutdown paths;Only test code is changed. There is no change to broker APIs, wire protocols, configuration, persisted data, or production shutdown behavior.
How Did You Test This Change?
Environment:
Command, run three times:
mvn -q -pl broker -am -Dtest=BrokerShutdownTest \ -DfailIfNoTests=false -DskipITs -Dspotbugs.skip=true \ -Djacoco.skip=true testResults:
Also verified with
git diff --check.