The GitHub Actions job "Build and Run Tests by Bazel" on rocketmq.git/develop 
has failed.
Run started by GitHub user ltamber (triggered by ltamber).

Head commit for run:
7d7502126c118227d2c67181cf70d0fd58aeb00f / rongtong 
<[email protected]>
[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/17902256364

With regards,
GitHub Actions via GitBox

Reply via email to