* add scheduled clean task.
* make code compatible to lmq.
* make code compatible to lmq.
* make code compatible to lmq.
* make code compatible to lmq.
* Fix the metric of the time wheel was incorrectly calculated
* Fix the metric of the time wheel was incorrectly calculated
---------
Co-authored-by: wanghuaiyuan <wanghuaiyuan@xiaomi.com>
* fix: when bytebuffer is not enough,we should wait for next instead of throw exception
* fix: when bytebuffer is not enough,we should wait for next instead of throw exception
* support dispatchBehindMilliseconds
* Modify the initial value of currentReputTimestamp
---------
Co-authored-by: guyinyou <guyinyou.gyy@alibaba-inc.com>
Extracted the duplicated logic of replacing group and topic with LMQ_PREFIX based on configuration into a common method, improving code structure and maintainability.
* fix: multiple patches during long running tests for LMQ over RocksDB
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: fix a bug in RocksGroupCommitService; remove RocksDBConsumeQueueStore#findConsumeQueueMap override
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: async fsync on RocksDB WAL flush
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: use a dedicated thread to flush and sync RocksDB WAL
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: trigger WAL rolling according to estimated WAL file size
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* chore: add doc, explaining config RocksDB instance flush/sync strategy
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: data-version should be per table
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: test case: RocksdbTransferOffsetAndCqTest
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
---------
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* #7538 fix wrong cachedMsgSize if msg body is changed in consumer callback
* [ISSUE #8765] fix low performance of delay message when enable rocksdb consume queue
* remove prefetch
* extract the adaptive lock
* extract the adaptive lock
* feat(): perfect the adaptive lock
* feat(): perfect the adaptive lock
* Optimized code type
* Optimized code type
* Optimized code type
* fix fail test
* Optimize the adaptive locking mechanism logic
* Optimize the adaptive locking mechanism logic
* feat:Adaptive locking mechanism adjustment
* feat:Adaptive locking mechanism adjustment
* feat:Adaptive locking mechanism adjustment
* Optimize the adaptive locking mechanism logic
* Optimize the adaptive locking mechanism logic
* Optimize the adaptive locking mechanism logic
* feat:Supports the hot activation of ABS locks
* feat:Supports the hot activation of ABS locks
* feat:Supports the hot activation of ABS locks
* feat:Supports the hot activation of ABS locks
* Optimize code style
* Optimize code style
* Optimize code style
* Optimize code style
* Optimize code style
* Optimize code style
* Updated the locking mechanism name
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* delete unused import
* Optimize the logic of switching to spin locks
* Revert "Optimize the logic of switching to spin locks"
This reverts commit 1d7bac5c2f.
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimize the logic of switching to spin locks
* Optimized locking logic
* Optimized locking logic
* Optimized locking logic
* fix test
* fix test
* fix test
* fix test
* Optimize code style
* Optimize code style
* fix test
* fix test
* optimize client rebalancing logic
---------
Co-authored-by: wanghuaiyuan <wanghuaiyuan@xiaomi.com>
* feat: add test case to RocksDBConsumeQueueOffsetTable, verifying forEach works properly for long topic-name
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: change OpenJDK distribution from adopt to corretto as the previous one is not updated anymore
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* fix: unify set-java version and distribution
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
---------
Signed-off-by: Li Zhanhui <lizhanhui@gmail.com>
* 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>