RongtongJin opened a new pull request, #9681: URL: https://github.com/apache/rocketmq/pull/9681
<!-- Please make sure the target branch is right. In most case, the target branch should be `develop`. --> ### Which Issue(s) This PR Fixes <!-- Please ensure that the related issue has already been created, and [link this pull request to that issue using keywords](<https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword>) to ensure automatic closure. --> Fixes #9680 ### Brief Description This PR improves RocksDB compaction filter factory resource management to prevent memory leaks and reduce component coupling. The main changes include: 1. **Refactor ConsumeQueueCompactionFilterFactory**: Replace MessageStore dependency with LongSupplier functional interface to reduce coupling and improve testability 2. **Enhanced Resource Management**: Add proper cleanup logic in ConsumeQueueRocksDBStorage.preShutdown() with null-safety checks 3. **Parameter Injection**: Update RocksDBOptionsFactory to accept external compaction filter factory instances instead of creating them internally 4. **Performance Optimization**: Optimize write buffer size configuration for faster CQ RocksDB startup <!-- Write a brief description for your pull request to help the maintainer understand the reasons behind your changes. --> ### How Did You Test This Change? <!-- In order to ensure the code quality of Apache RocketMQ, we expect every pull request to have undergone thorough testing. --> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@rocketmq.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org