* [ISSUE #10373] Quarantine flaky tests and add detection plan docs
Ran all RocketMQ module tests 100x across 10 ECS nodes to identify
non-deterministic failures. Quarantined methods with @Ignore across
broker, client, filter, and tieredstore modules.
Flaky tests quarantined:
- broker: LiteLifecycleManagerTest#testCleanByParentTopic (2%)
- broker: ConsumerOrderInfoManagerLockFreeNotifyTest#testRecover (2%)
- broker: TransactionalMessageServiceImplTest#testDeletePrepareMessage_maxSize (1%)
- client: DefaultMQConsumerWithTraceTest#testPullMessage_WithTrace_Success (1%)
- client: DefaultMQLitePullConsumerWithTraceTest#testSubscribe_PollMessageSuccess_WithCustomizedTraceTopic (5%)
- client: DefaultMQLitePullConsumerWithTraceTest#testSubscribe_PollMessageSuccess_WithDefaultTraceTopic (6%)
- filter: BloomFilterTest#testCheckFalseHit (1%)
- tieredstore: IndexStoreServiceTest#queryCrossFileBoundaryTest (35%)
- tieredstore: IndexStoreServiceTest#concurrentGetTest (1.5%)
Additional changes:
- LiteLifecycleManagerTest: Switch to MockitoJUnitRunner.Silent
- Add flaky test detection plan docs (CN + EN)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* [ISSUE #10373] Quarantine flaky PopPriorityIT and fix test cases
- Quarantine PopPriorityIT at class level (multiple methods fail
intermittently with 'expected:<8> but was:<2>' due to async race)
- Fix ConsumerOrderInfoManagerLockFreeNotifyTest
- Fix IndexStoreServiceTest
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
* [ISSUE #10373] Fix flaky test detection plan docs path and naming
Move English doc from docs/cn/ to docs/en/ and rename both files
to match existing docs naming convention (underscore + PascalCase).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
* Use fastjson2 in all modules
* Update test
* Update test
* Update test
* Add serialization compatibility test tool class
* Update RemotingSerializableCompatTest.java
* Update RemotingSerializableCompatTest.java
* Update RemotingSerializableCompatTest.java
* Update BitSet problem
* Update
* Update
* Update test
* Update test
* Update BUILD.bazel
* Update BUILD.bazel
* Update test
* Update BitSet problem
* Add test
* Add compat test
* merge develop
* Update test
* merge develop
* Optimize shutdown process and resource management
- Improve BrokerController shutdown flow for graceful shutdown
- Optimize BrokerStartup startup and shutdown logic
- Enhance ClientHousekeepingService resource cleanup
- Improve shutdown handling for various processors
- Optimize resource management in storage layer components
- Enhance lifecycle management for statistics manager
- Improve shutdown flow for timer components
* Fix this.popMessageProcessor.getPopLongPollingService() not shutdown
* Fix test shutdown state transition issue
- Add proper null checks and exception handling in test cleanup
- Prevent IllegalStateException during test teardown
- Ensure graceful test cleanup without state conflicts
* Fix DefaultMessageStoreCleanFilesTest can not pass
* Fix CombineConsumeQueueStoreTest can not pass
* Polish the code
* Polish the code
* Ignore flaky test first
* Initially optimize the broker container structure
* refactor: Improve BrokerContainer extensibility and logging
This commit enhances the BrokerContainer module to improve code structure
and logging capabilities:
Key improvements:
- Polish the code structure to make BrokerContainer more extensible
- Improve container logging configuration and management
- Enhance BrokerBootHook for better hook management
- Update BrokerContainer and BrokerContainerProcessor for improved functionality
- Remove unused BrokerLogbackConfigurator to reduce complexity
- Update BrokerStartup and BrokerController for better container integration
Modified files:
- broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
- broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java
- container/src/main/java/org/apache/rocketmq/container/BrokerBootHook.java
- container/src/main/java/org/apache/rocketmq/container/BrokerContainer.java
- container/src/main/java/org/apache/rocketmq/container/BrokerContainerProcessor.java
- container/src/main/java/org/apache/rocketmq/container/BrokerContainerStartup.java
- container/src/main/java/org/apache/rocketmq/container/logback/BrokerLogbackConfigurator.java (removed)
This refactoring improves the overall maintainability and extensibility
of the container module while maintaining backward compatibility.
* test: Add unit tests for BrokerContainer extensibility improvements
This commit adds comprehensive unit tests for the BrokerContainer
extensibility improvements introduced in this branch:
Key test coverage:
- BrokerBootHook system extensibility and proper hook execution
- Container configuration accessibility and management
- Container initialization and lifecycle management
- BrokerContainerProcessor integration
- Startup and shutdown sequence robustness
- Extension points and customization capabilities
These tests ensure that the improved BrokerContainer architecture
maintains backward compatibility while providing enhanced extensibility
for future development and customization.
* Fix testBrokerGracefulShutdown can not pass
* Fix BrokerContainerExtensibilityTest can not pass
* fix(container): add missing auth module dependency
- Add //auth dependency to container target in BUILD.bazel
- Add //auth dependency to tests target in BUILD.bazel
- Fixes compilation errors for AuthConfig class usage
- Resolves Bazel build failures in container module
Fixes: symbol not found org.apache.rocketmq.auth.config.AuthConfig
* feat: support LMQ dispatch
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: introduce group-commit for batch insertion of RocksDB KV pairs
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: propagate store error to broker module
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* chore: fix all Bazel warning and errors
Signed-off-by: Zhanhui Li <lizhanhui@gmail.com>
* fix: remove unnecessary batch-ops when writing RocksDB using atomic flush
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: find a writable directory for RocksDB logs
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* chore: clean up ConfigHelperTest
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: truncate consume queues in case commit log records are truncated
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: truncate LMQ max offsets
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: correct truncate boundary of consume queues
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: correct MessageExt encoding
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* chore: remove unused import
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
---------
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
Signed-off-by: Zhanhui Li <lizhanhui@gmail.com>
* Pop consume asynchronization
* Pass UTs and ITs
* Pass the checkstyle
* Fix LocalGrpcIT can not pass
* Fix the UT can not pass
* Simplify duplicate methods in EscapeBridge