Commit Graph
102 Commits
Author SHA1 Message Date
KaiQuan Chen 4082e31d88 [ISSUE #8262]Fix bitsarray off by one (#10506)
* Update ACL mqadmin commands in Chinese doc Section 7

Replace five outdated commands (updateAclConfig, deleteAccessConfig,
updateGlobalWhiteAddr, clusterAclConfigVersion, getAclConfig) with
the six commands available in RocketMQ 5.5.0:

  createAcl, updateAcl, deleteAcl, getAcl, listAcl, copyAcl

Verified: all five old commands return 'sub command not exist' on
RocketMQ 5.5.0. Each new command documented with parameters and
usage examples from actual mqadmin -h output.

Fixes #10502

* Fix off-by-one in BitsArray boundary checks and add unit tests

**Bug fix**
checkBytePosition and checkBitPosition used '>' instead of '>=',
allowing positions equal to array length to pass validation and
cause ArrayIndexOutOfBoundsException instead of the intended
IllegalArgumentException.

**Production impact if not fixed**
Minimal. getByte/setByte are only called internally by xor/or/and
with safe bounds. getBit/setBit positions come from BloomFilterData
hash functions which always produce in-range values. The incorrect
check has no known production trigger.

**Impact of fix**
Zero negative impact. All valid positions (0 to length-1) unchanged.
Edge case now correctly throws IllegalArgumentException instead of
ArrayIndexOutOfBoundsException.

**Tests added**
- BitsArrayTest: 27 tests covering create, bit/byte ops, boundary,
  including regression tests for the fixed checks
- PlainAccessConfigTest: 12 tests for getters/setters, equals/hashCode

References #8262

* Remove self-comparison assertion flagged as error by CI
2026-06-15 20:23:50 +08:00
lizhimins 9443c6d9db [ISSUE #10383] Align Bazel dependencies with Maven pom.xml (#10404) 2026-05-29 10:04:20 +08:00
lizhimins 41a3a35990 [ISSUE #10373] Fix quarantined flaky tests and remove CI rerun workflow (#10379) 2026-05-26 14:21:17 +08:00
lizhiminsandClaude Opus 4.6 980f3d7f55 [ISSUE #10373] Quarantine flaky tests and add detection plan docs (#10374)
* [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>
2026-05-25 17:36:36 +08:00
7a08b4cb68 [RIP-82] Implement Timer message, transaction message, and index based on RocksDB (#9787)
* add isWakeCommitWhenPutMessage  for AIO

* Implemented Timer message, Transaction Message, Index based on rocksdb

* add timeline roll interval can be config

* optimize the code

* optimize the code

* add sone logic for recover commitlog

* optimize the code

* update

* update

* optimize the code

* update

* update

* optimize the code

* optimize the code

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

* update

Change-Id: I700798ef625187ac32c16c8ea5aae5f2debfdddf

* update

Change-Id: I1d2dfa24317d2ad7c0ca41d90cd2b3c1ba260b0b

* update

Change-Id: I974e30eb909722ea2a17a14e505759bf20f4f860

* update

Change-Id: Ica01fbd08a2d60e9a0f4ab54b41ae4768cc4fa5d

* update

Change-Id: I764ce6cea3159b025bf1e6e65b60e20514cecb4f

* update

Change-Id: I0cc735896e1266934293ec06cb4f07746a1894a1

* update

Change-Id: I6538b6a60631c62e162bf511ae20185a07b72508

* update

Change-Id: I03f83b9e8199f3595ca28471df4a2e94671fbaae

* update

Change-Id: I5b19b671fa0b40cd2aba63f1d0eb654b92775cb4

* update the code

Change-Id: I22788d112b7f214310719e2d3ebad839ef818e67

* update

Change-Id: I7da89fe635b58ac5026095a8e484fa46f68521e7

* update the code

Change-Id: I5eade6c31803b8cf05c1a4bb83c226d57f4980c7

* update

Change-Id: Id67f600fad1a876926cd505dba047cc82011160c

* update

Change-Id: Ia4b0e2a21aa5e12570a80713432fd48ddfb210e6

* optimize the code

Change-Id: Idf8080c7b17c25e14fe34ef6bad1e1150dab58d6

* update

Change-Id: I904f0120a728b4eb87226159f9c0cde3d18ef26a

* update code

Change-Id: I21653d6bcad905daa8f10d12298d1d27535af9d9

* update

Change-Id: I712b9cde9a18c730fd020ea76f05560e594a9edd

* update

Change-Id: Iafe10c007e9b5057212e2dcfb21671f970b1d344

* update

Change-Id: I40c1c7f54852ee033e0caa22573436ee505a27b8

* optimize the code

Change-Id: Iae006b01608df4f363c63a0ae876dbf63cd56fbd

---------

Co-authored-by: drizzle.zk <drizzle.zk@alibaba-inc.com>
Co-authored-by: zhouli11 <04081337@163.com>
2025-12-11 15:13:56 +08:00
yx9o d7e27d6d69 [ISSUE #9396] Use fastjson2 in all modules (#9397)
* 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
2025-12-04 19:09:08 +08:00
cvictoryandcvictory 1c23a8094a [ISSUE #9663] Adopt Maven's revision mechanism (requires Maven >= 3.5.0) (#9665)
Co-authored-by: cvictory <shengli.caosl@alibaba-inc.com>
2025-09-04 09:51:02 +08:00
Hongxu Xu 7ab7ddd6d2 [ISSUE #9609] Fix bazel CI and reduce dependencies (#9610) 2025-08-22 16:35:39 +08:00
lizhimins aecb97ec44 [maven-release-plugin] prepare for next development iteration (#9389) 2025-05-07 16:34:04 +08:00
lizhimins 29d90a4ff9 [maven-release-plugin] prepare release rocketmq-all-5.3.3 (#9388) 2025-05-07 09:48:32 +08:00
lizhimins 47fe6b2ba6 [maven-release-plugin] prepare for next development iteration (#9232) 2025-03-08 17:20:49 +08:00
lizhimins 2baaf044ea [maven-release-plugin] prepare release rocketmq-all-5.3.2 (#9231) 2025-03-08 14:07:17 +08:00
Kris20030907 defcdc843c [ISSUE #9201] cleanup dead code patterns and improve readability and maintainability 2025-02-24 08:44:35 +08:00
lizhimins daf3d1a666 [maven-release-plugin] prepare for next development iteration (#8750) 2024-09-26 09:33:52 +08:00
lizhimins b122c8109d [maven-release-plugin] prepare release rocketmq-all-5.3.1 (#8749) 2024-09-25 23:24:56 +08:00
lizhimins 5dc0c6a8b5 [maven-release-plugin] prepare for next development iteration (#8382) 2024-07-09 01:30:43 +08:00
lizhimins 7ee50ec32e [maven-release-plugin] prepare release rocketmq-all-5.3.0 (#8379) 2024-07-08 23:15:33 +08:00
Kaiyao Ke 52c5d89244 [ISSUE #8092] Fixed non-idempotent test 2024-05-08 14:00:40 +08:00
rongtong f41160210a [maven-release-plugin] prepare for next development iteration (#7828) 2024-02-12 11:07:03 +08:00
rongtong 281a7b32f0 [maven-release-plugin] prepare release rocketmq-all-5.2.0 (#7827) 2024-02-11 17:53:50 +08:00
lk 73b3fde837 [maven-release-plugin] prepare for next development iteration (#7379) 2023-09-22 10:08:59 +08:00
lk 1a681bdf9b [maven-release-plugin] prepare release rocketmq-all-5.1.4 (#7377) 2023-09-21 19:58:29 +08:00
rongtong e369d7deac [maven-release-plugin] prepare for next development iteration (#6939) 2023-06-24 14:31:42 +08:00
rongtong f7425f52f9 [maven-release-plugin] prepare release rocketmq-all-5.1.3 (#6938) 2023-06-24 12:23:11 +08:00
yuz10 867c296150 [ISSUE #6916] support startsWith and endsWith in sql filter. (#6915)
* support startsWith and endsWith in sql filter.

* add tests

* add tests
2023-06-23 15:41:16 +08:00
Quan 3ac885705d new feature: sql expression CONTAINS support (#6864) 2023-06-16 16:22:46 +08:00
rongtong ad4cc957fb [maven-release-plugin] prepare for next development iteration (#6895) 2023-06-12 19:12:25 +08:00
rongtong 749967baa8 [maven-release-plugin] prepare release rocketmq-all-5.1.2 (#6892) 2023-06-12 17:44:39 +08:00
rongtong 8aea26ef8f [maven-release-plugin] prepare for next development iteration 2023-05-15 19:48:34 +08:00
rongtong e244ebb99a [maven-release-plugin] prepare release rocketmq-all-5.1.1 (#6763) 2023-05-15 18:51:01 +08:00
zhouxiang 0f878b5157 [maven-release-plugin] prepare for next development iteration 2023-02-16 12:35:58 +08:00
zhouxiang b8e9334d2a [maven-release-plugin] prepare release rocketmq-all-5.1.0 2023-02-16 12:35:58 +08:00
zhouxiang 83d6778747 [ISSUE #6030] Update version to 5.1.0-SNAPSHOT 2023-02-16 12:35:58 +08:00
Aaron Ai a68078fef8 [ISSUE #5484] Replace logging module with the shaded logback (#5540)
* Replace logging module with the shaded logback

* Add license header

* Fix bazel compile issue
2022-11-21 16:30:15 +08:00
yukon 506b563f55 Revert "[ISSUE #5484] Replace Logging Module with Shaded Logback (#5524)" (#5537)
This reverts commit 809ff6b3e0.
2022-11-17 20:04:17 +08:00
Aaron AiandLi Zhanhui 809ff6b3e0 [ISSUE #5484] Replace Logging Module with Shaded Logback (#5524)
* Remove ClientLogger

* WIP

* WIP

* Rename logger to log

* Make it compile

* WIP

* Fix bazel to use shaded slf4j

* Fix DeleteExpiredCommitLogSubCommandTest

* Fix pom.xml duplication

* Fix maven deps

* Add test logback configuration file

* Fix unit test output

* Fix logback configuration file

* All logging are made on top of slf4j

* Fix test log configuration file name

* Fix test log configuration file name for test module

* All logging are shaded slf4j targeted

* DLedger has an explicit dependency on slf4j

* Fix DLedger

* Fix DLeader issue

* Move logback configuration files to each module

Co-authored-by: Li Zhanhui <lizhanhui@gmail.com>
2022-11-17 00:38:28 +08:00
mxsm db1f1839b9 [ISSUE #5298]Polish code style for jdk8+ (#5308) 2022-10-14 11:44:21 +08:00
hill ac82378aea [maven-release-plugin] prepare for next development iteration 2022-09-19 10:27:17 +08:00
hill f3e113cb1f [maven-release-plugin] prepare release rocketmq-all-5.0.0 2022-09-19 10:26:58 +08:00
Aaron Ai f23fdbe016 Replace findbugs by spotbugs (#4931) 2022-08-30 17:45:56 +08:00
Zhanhui Li 3da7ea9c1b [Infra Improvement] Build And Run Unit Tests in Parallel (#4878)
* Support build with Bazel (#4865)

* Support build with Bazel, fixing tests to make them capable of running in concurrency and hermetic.

* Make test cases capable of running in parallel. (#4874)
2022-08-24 20:53:30 +08:00
RongtongJin bbbb96e129 Revert "Support build with Bazel (#4865)"
This reverts commit ec8a93d2f7.
2022-08-23 14:29:46 +08:00
Zhanhui Li ec8a93d2f7 Support build with Bazel (#4865)
* Support build with Bazel, fixing tests to make them capable of running in concurrency and hermetic.
2022-08-23 13:11:53 +08:00
Aaron Ai 61b14c3f4e [ISSUE #4785] Enable misspell check GitHub Action (#4786)
* Enable misspell check GitHub Action

* Fix typo
2022-08-08 09:28:41 +08:00
RongtongJin 8ef151d605 Change rocketmq version to 5.0.0-SNAPSHOT in all pom files 2022-07-08 23:45:55 +08:00
RongtongJin 3fadc8f30c Merge branch '5.0.0-beta' into develop
# Conflicts:
#	acl/pom.xml
#	broker/pom.xml
#	broker/src/main/java/org/apache/rocketmq/broker/BrokerController.java
#	broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
#	broker/src/main/java/org/apache/rocketmq/broker/plugin/MessageStoreFactory.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/AdminBrokerProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/ClientManageProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/ConsumerManageProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/EndTransactionProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/ForwardRequestProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/PullMessageProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/QueryMessageProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/processor/SendMessageProcessor.java
#	broker/src/main/java/org/apache/rocketmq/broker/transaction/jdbc/JDBCTransactionStore.java
#	broker/src/test/java/org/apache/rocketmq/broker/processor/SendMessageProcessorTest.java
#	client/pom.xml
#	client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragely.java
#	client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueAveragelyByCircle.java
#	client/src/main/java/org/apache/rocketmq/client/impl/MQClientAPIImpl.java
#	client/src/main/java/org/apache/rocketmq/client/impl/consumer/DefaultMQPushConsumerImpl.java
#	client/src/main/java/org/apache/rocketmq/client/impl/consumer/RebalanceImpl.java
#	client/src/test/java/org/apache/rocketmq/client/consumer/DefaultLitePullConsumerTest.java
#	common/pom.xml
#	common/src/main/java/org/apache/rocketmq/common/MQVersion.java
#	common/src/main/java/org/apache/rocketmq/common/protocol/RequestCode.java
#	common/src/main/java/org/apache/rocketmq/common/protocol/header/PullMessageRequestHeader.java
#	common/src/main/java/org/apache/rocketmq/common/protocol/route/BrokerData.java
#	common/src/main/java/org/apache/rocketmq/common/protocol/route/TopicRouteData.java
#	common/src/main/java/org/apache/rocketmq/common/sysflag/MessageSysFlag.java
#	common/src/main/java/org/apache/rocketmq/common/utils/ServiceProvider.java
#	common/src/test/java/org/apache/rocketmq/common/message/MessageDecoderTest.java
#	distribution/pom.xml
#	example/pom.xml
#	filter/pom.xml
#	logging/pom.xml
#	logging/src/main/java/org/apache/rocketmq/logging/inner/Level.java
#	namesrv/pom.xml
#	namesrv/src/main/java/org/apache/rocketmq/namesrv/NamesrvController.java
#	namesrv/src/main/java/org/apache/rocketmq/namesrv/processor/DefaultRequestProcessor.java
#	namesrv/src/main/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManager.java
#	openmessaging/pom.xml
#	pom.xml
#	remoting/pom.xml
#	remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingAbstract.java
#	remoting/src/main/java/org/apache/rocketmq/remoting/netty/NettyRemotingClient.java
#	remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingCommand.java
#	remoting/src/main/java/org/apache/rocketmq/remoting/protocol/RemotingSerializable.java
#	srvutil/pom.xml
#	store/pom.xml
#	store/src/main/java/org/apache/rocketmq/store/CommitLog.java
#	store/src/main/java/org/apache/rocketmq/store/ConsumeQueue.java
#	store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java
#	store/src/main/java/org/apache/rocketmq/store/MultiDispatch.java
#	store/src/main/java/org/apache/rocketmq/store/dledger/DLedgerCommitLog.java
#	store/src/main/java/org/apache/rocketmq/store/ha/HAConnection.java
#	store/src/main/java/org/apache/rocketmq/store/ha/HAService.java
#	store/src/main/java/org/apache/rocketmq/store/index/IndexFile.java
#	store/src/main/java/org/apache/rocketmq/store/logfile/DefaultMappedFile.java
#	store/src/main/java/org/apache/rocketmq/store/stats/BrokerStatsManager.java
#	store/src/test/java/org/apache/rocketmq/store/DefaultMessageStoreCleanFilesTest.java
#	store/src/test/java/org/apache/rocketmq/store/MultiDispatchTest.java
#	store/src/test/java/org/apache/rocketmq/store/dledger/DLedgerCommitlogTest.java
#	test/pom.xml
#	tools/pom.xml
#	tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExt.java
#	tools/src/main/java/org/apache/rocketmq/tools/admin/DefaultMQAdminExtImpl.java
#	tools/src/main/java/org/apache/rocketmq/tools/admin/MQAdminExt.java
#	tools/src/main/java/org/apache/rocketmq/tools/command/MQAdminStartup.java
#	tools/src/main/java/org/apache/rocketmq/tools/command/topic/DeleteTopicSubCommand.java
2022-07-08 15:03:54 +08:00
hill 32733e7674 [maven-release-plugin] prepare for next development iteration 2022-06-20 16:17:12 +08:00
hill 06f2208a34 [maven-release-plugin] prepare release rocketmq-all-4.9.4 2022-06-20 16:16:54 +08:00
6U-U9 d100d3c9a5 [ISSUE #4167] Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8 (#4024)
* Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8

* Remove the specification of Charset according to SimplePullConsumer
2022-04-17 23:02:07 +08:00
hjl11 c121565c3e [ISSUE #4040] Unnecessary toString methods deleted (#4041) 2022-03-28 10:15:43 +08:00