You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by GitBox <gi...@apache.org> on 2025/09/22 02:06:19 UTC
[GH] (rocketmq/develop): Workflow run "Coverage" failed!
The GitHub Actions job "Coverage" on rocketmq.git/develop has failed.
Run started by GitHub user ltamber (triggered by ltamber).
Head commit for run:
7d7502126c118227d2c67181cf70d0fd58aeb00f / rongtong <ji...@mails.ucas.ac.cn>
[ISSUE #9719] Fix Static Variable Conflicts in Multi-Broker Metrics Management (#9720)
* refactor: convert RemotingMetricsManager from static to instance-based
- Remove all static global instance related code
- Convert all static methods to instance methods
- Remove static wrapper methods for backward compatibility
- Add constructor and getter/setter methods for instance variables
- This ensures each broker instance manages its own metrics in multi-broker scenarios
* refactor: convert PopMetricsManager from static to instance-based
- Remove all static global instance related code
- Convert all static methods to instance methods
- Remove static wrapper methods for backward compatibility
- Add constructor and getter/setter methods for instance variables
- This ensures each broker instance manages its own Pop metrics in multi-broker scenarios
* refactor: implement instance-based metrics management for multi-broker scenarios
- Add RemotingMetricsManager instance variable to NettyRemotingAbstract
- Add setter/getter methods for RemotingMetricsManager in NettyRemotingAbstract
- Update writeResponse method to use instance-based metrics recording
- Add writeResponse method to RemotingServer interface
- Update BrokerController to set RemotingMetricsManager on NettyRemotingServer instances
- Update InnerBrokerController to set RemotingMetricsManager on SubRemotingServer instances
- Update all processor classes to use instance-based writeResponse calls
- Update RocksDBStoreMetricsManager integration in DefaultStoreMetricsManager
- Remove unused imports and clean up code
This ensures each broker instance manages its own metrics independently,
solving the static variable conflict issue in multi-broker processes.
* refactor: fix test failures caused by metrics manager refactoring
- Fix ChangeInvisibleTimeProcessorTest by using @Spy instead of @Mock for BrokerController
- Inject BrokerMetricsManager into BrokerController using reflection
- Remove unnecessary mock stubbings
- Update all processors to use new static writeResponse method
- Fix BrokerMetricsManager initialization issues in AckMessageProcessorTest and PopReviveServiceTest
These changes ensure all related tests pass after refactoring metrics managers from static variables to instance variables.
* fix: resolve checkstyle errors and ensure compilation success
- Remove duplicate import in PopMessageProcessor.java
- Clean up unused imports in ChangeInvisibleTimeProcessorTest.java
- Clean up unused imports in AckMessageProcessorTest.java
- Ensure all modules compile successfully without checkstyle violations
These changes complete the metrics manager refactoring from static variables to instance variables, resolving statistical information conflicts in multi-broker processes.
* Fix PopReviveServiceTest by adding proper PopMetricsManager mock
- Add PopMetricsManager mock to PopReviveServiceTest
- Fix NullPointerException in reviveRetry method
- Ensure rePutCK method is called correctly when retry fails
- Test now passes successfully with proper metrics manager setup
* Remove debug code from PopReviveService
- Remove debug logging statements from reviveMsgFromCk method
- Clean up test output for better readability
* fix
* fix
Report URL: https://github.com/apache/rocketmq/actions/runs/17902256380
With regards,
GitHub Actions via GitBox