You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by ji...@apache.org on 2022/07/22 04:41:04 UTC

[rocketmq] branch master updated (59298c664 -> 06f2208a3)

This is an automated email from the ASF dual-hosted git repository.

jinrongtong pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq.git


 discard 59298c664 Merge pull request #4632 from IsaacSoe/patch-2
    omit 4b2faa6a7 Modify the wrong words
    omit 2622ba3a7 Merge branch 'develop'
    omit 1b420cedf Updated Notice file to 2022 (#3735)
    omit e24794da7 Update .travis.yml
     add 799d4125b fix validate fail after update acl (#3888)
     add 7281b5d9a [ISSUE #3898]fix the spell in MQClientAPIImpl (#3899)
     add 42d1565fe [ISSUE #3890] add 'brokerAddress' param for ConsumerConnectionSubCommand (#3891)
     add 11026c287 Remove unnecessary Exception thrown by MQClientAPIImpl#createSubscriptionGroup (#3880)
     add 7438dab36 Fix testTruncateCQ on Windows by releasing mapped files. (#3865)
     add 81677c78d [ISSUE #3859] enhance the cal of latency for putting message (#3862)
     add 9226395de Fix #3911 (#3912)
     add 19f99a5c6 [ISSUE #3875]  fix unable to delete last acl account. (#3876)
     add 7276cf992 readme add rocketmq dashboard link (#3919)
     add b6b532651 readme add rocketmq connect link (#3916)
     add 3ccf651eb fix that wrong dir is creaed when using mult-dirs storage (#3901)
     add 5ae4a106b [#3903] Add topic validation, forbid sending message to system topic  (#3904)
     add 52700533b fix some docs error (#3926)
     add 5b8951915 [ISSUE #3896] fix log format error (#3897)
     add 6197ebda7 Improve Issue Template (#3932)
     add 2987e1dcb Add language code for Rust (#3931)
     add 7a5d937c7 [Issue #3922] Fix bugs in ACL modification (#3927)
     add febc08360 [ISSUE #3561] Optimize consuming messages with namespace example
     add 446b76b07 typo: best_practice.md (#3939)
     add c43620f26 [ISSUE #3950] Anonymous new Callable()  replaced with lambda (#3951)
     add 40d950578 [ISSUE #3957] Fix LmqConsumerOffsetManager deserialize error (#3958)
     add 95202f1e6 docs: Add the link to Apache RocketMQ MQTT in the readme.md (#3971)
     add 895bd95e8 fix a flaky test (#3959)
     add 8cd998829 Fix using wrong offset when deliver in ScheduleService (#3967)
     add 3378da69e [ISSUE #3882]Nameserver change modify `topicQueueTable` in `RouteInfoManager` (#3881)
     add adbf3db71 [ISSUE #3955] delete useless check
     add 2b5132117 [ISSUE#3983] Optimize warn log output when sending exceptions are encountered. (#3984)
     add 03c5a3d17 [ISSUE #3985] Remove shuffle operation before sorting the list of 'FaultItem'. (#3986)
     add c1aeca291 [#3942]If both acl and message trace are enabled and the default topic RMQ_SYS_TRACE_TOPIC is used for message trace, you don't need to add the PUB permission of RMQ_SYS_TRACE_TOPIC topic to the acl config. (#3943)
     add 6ff00ed05 [ISSUE #4000]Fix the warn log input in command tools (#4001)
     add e283dccd0 add shutdown script for batchproducer.sh (#4015)
     add f57ea77db [ISSUE #4002]Optimize some mqadmin command execution results output (#4003)
     add 0870a8330 [ISSUE #3924] It may be better to change the method StoreStatsService#initPutMessageDistributeTime() to private. (#3925)
     add 1a72ffd20 fix docs error (#4023)
     add f7b4ce3a3 [ISSUE #4028] wrong log output (#4029)
     add 02228d870 Fix #4004
     add c121565c3 [ISSUE #4040] Unnecessary  toString methods deleted (#4041)
     add 818ef2152 RemotingCommandException is not thrown in a method (#4030)
     add 18287f64c [ISSUE #4048] Make storePathCommitLog base on storePathRootDir
     add 9fff8ae01 [ISSUE #4053] NamesrvController code optimization
     add 6817856d0 [ISSUE #4054] fix doc format (#4055)
     add 45010d9bd [ISSUE #4050] fix origin messsage id missing from dead leetter meessage
     add 4574d59f4 fix clusterRT and checkMsgSendRT  (#4047)
     add 4f7a224a0 [ISSUE #3699] fix unit test
     add 336939080 [ISSUE #4035] rename some commands (#4036)
     add e3b67484b [ISSUE #4048] Make storePathCommitLog base on storePathRootDir (#4057)
     add fd554ab12 [Document] Update user_guide.md: Fix for link. (#4085)
     add e7c87fa1c [ISSUE #4110] Update dledger version to 0.2.4 (#4111)
     add c5db5ac3e [ISSUE #4125] Anonymous new Runnable() can be replaced with lambda (#4031)
     add 9f82b1e6b [Doc] Fixed typo in getStartIndex method in RocketMQ_Example.md file (#4012)
     add 13765b040 [ISSUE #3940]Optimize AllocateMessageQueueStrategy (#3941)
     add 8745d4c53 [ISSUE #4129] Fix typo in CommitLog.java
     add 50f2b3245 Bump junit from 4.12 to 4.13.1 in /test (#4119)
     add 47561bdd8 [ISSUE #3666] fix npe (#4136)
     add ead6274b3 fix mac 12+ slow bug (#4010)
     add 9563683c2 [ISSUE #4155] fix acl test
     add 2897bbfba [ISSUE #4150] Fix spelling mistakes on docs (#4141)
     add 93edad2cb [ISSUE #4033] fix async deliver msg will resend forever when serivce not avliable (#4045)
     add f120645a1 [ISSUE #4167] Optimize the logic of MessageDecoder#decodeMessageId method (#4082)
     add aa908ce82 [ISSUE #4103] Simplify string-list-join in `Message` (#4104)
     add d100d3c9a [ISSUE #4167] Replace Charset.forName("UTF-8") with StandardCharsets.UTF_8 (#4024)
     add 320b728d6 [ISSUE #4167] cleanup code (#4013)
     add 84f03c34b [ISSUE #4143] Remove file lock related code snippets in index file (#4135)
     add 50e314eb8 [ISSUE #4123] Explicit type argument can be replaced with <> for RouteInfoManager (#4124)
     add 9f7142bdd [ISSUE #4175] Prevent update topic on slave (#4176)
     add 6fca4e866 [ISSUE #4160]remove the final modifier of a method which is already in a final class (#4163)
     add 580b76d3d [ISSUE #4165] add new line in sendMsgStatus (#4166)
     add d1f812491 [ISSUE #4170] Fix getEarliestMessageTime in DLedger mode (#4168)
     add 4f2b70817 Explicit type argument can be replaced with <> (#4186)
     add 519c0b8a4 [ISSUE #4127] [BrokerOuterAPI] Anonymous new Runnable() can be replaced with lambda
     add 86738365e [ISSUE #4187]Support async publish in producer benchmark (#4188)
     add a597c8e34 [ISSUE #4183] When the reportSlaveMaxOffset method fails, end the current loop early (#4184)
     add b503c4e5a [ISSUE #4181] Prevent int overflow in TraceContext
     add 2bd905901 [ISSUE #3914] Support multi dirs storage in DLedger
     add 51baf87ae [ISSUE #4147] javadoc: Fix the problem described in the warning message prompted by the IDE. (#4148)
     add 5d0102396 [ISSUE #4107] rocketmq-tools should not depend on rocketmq-store (#4108)
     add 9de7be478 update design doc (#4205)
     add a80070675 [Optimization] Replace Timer to ScheduleExecutorService (#4208)
     add 3cbb3b8ea [ISSUE 3585] [Part B] Improve encode/decode performance (#3588)
     add b6e65a805 [ISSUE #4099]Optimized the performance of sending traceMessage in `AsyncTraceDispatcher` (#4180)
     add a492592d7 [Docs] Add squash guide and apache contributors guide link (#4221)
     add 3e38468d5 remove checked Exception which will never be thrown from method signature
     add 164a1e964 remove checked Exception which will never be thrown from method signature
     add 049abc243 remove checked Exception which will never be thrown from method signature
     add 2d66e95d3 Merge pull request #4132 from dugenkui03/patch-012
     add 4a47fd1e3 Create KVConfigManager.java
     add 9a97b7a36 Merge pull request #4222 from 123monkey/develop
     add df3f8de4c [ISSUE #4211] Fix diskMaxUsedSpaceRatio does not take effect in dLedger
     add 844dabfb2 [ISSUE #4215] OFFSET_OVERFLOW_BADLY will lead to consumption from begin, a large number of repeated consumption
     add caadd816b [ISSUE #4237] REMOVE unnecessary final modifier
     add 9f97eba2d [ISSUE #4239] Use function computeIfAbsent replace if
     add 0e03c8f4b Remove redundant queue (#4240)
     add 0d8478d78 fix HmacSHA1 not available running benchmark (#4217)
     add 5584a7897 [ISSUE #4203] Support zstd/lz4 compression to improve send/receive performance
     add 704321130 Merge pull request #4213 from ferrirW/ROCKETMQ-4203
     add c046404ee [ISSUE-#4251]Add batch flag (#4252)
     add d7e940a29 replace hashset addAll method to constructure (#3879)
     add 5d2bf3573 [ISSUE #4254] use function computeIfAbsent replace if  (#4255)
     add edbea4dab fix: fix ACL tests on Windows (#4278)
     add 3a7ee49a7 Add spdx file
     add fd484ae6d enable License-Eye in GitHub Actions
     add 2c62986a6 Update README.md
     add b423b54d1 Update README.md
     add 27cdf51fd Modify the description of the Community List
     add ab2ab22ff Update README.md
     add 56106305e [ISSUE #4284] Add protocols to readme and delete the description of language clients (#4285)
     add e0643ed21 [ISSUE #4286] add link of rocketmq-site to readme (#4288)
     add e52028ae1 [ISSUE #4291] Add  some description text to README (#4294)
     add b2cfcac87 Fix 4283 and add an description in readme.  (#4293)
     add eb0a0e94e fix: delete a feature in Readme (#4298)
     add 9445b7887 [ISSUE #4304] Fix license check failures
     add 2372ed941 Merge branch 'develop' into develop
     add ab5580981 Update README.md
     add bee73b3a4 [ISSUE #4310] Optimize serviceProvider's code
     add b79859778 [ISSUE #3962] Fix variable name in MappedFile#isAbleToCommit() (#4312)
     add eaf0ce099 [ISSUE # 4308] Make some variables to be final in brokerController
     add 726ed7298 fix broker log path typo (#4307)
     add a28dc651d [ISSUE #4315] Optimize ha module's code
     add 7982c9c09 [ISSUE #4320] Anonymous new PrivilegedAction can be replaced with lambda
     add 859401feb [ISSUE #4332] Remove duplicate code
     add 84fb5e107 [ISSUE #4317] Fix for statement does not loop
     add 0370e5e4d [ISSUE #4318]make some variables to be final in IndexHeader (#4319)
     add 2c3580c9d remove the final modifier of a method which is already in a final class
     add 6dedcce1f remove the final modifier of a method which is already in a final class
     add e3cae4978 Update README.md
     add 745580be6 Update README.md
     add b62121d0f Update MessageStoreFactory.java
     add 6ea94e242 Update README.md
     add 2b26e6d0c Merge pull request #4295 from xyjForCoding/develop
     add 7f27a6841 Merge branch 'develop' into develop
     add 0bebae68c Merge pull request #4296 from terrance-swn/develop
     add 9f07dc47f Merge branch 'develop' into develop
     add 51cf962e0 Merge pull request #4303 from wzgliang/develop
     add e7b3a5afc organized community section on recent PRs
     add 2e58c7d2c Add a rough guide for quick start (#4302)
     add 455ac6d5a [ISSUE #4327] Init collection size (#4214)
     add 20b3a9275 [ISSUE #4326] Optimized some code style.
     add dd6922362 [ISSUE #4325] Remove redundant exception to improve readability
     add 82a48be00 [ISSUE #4335] Replace deprecated api in cl
     add 5e7baab95 [ISSUE #4323] Optimized openmessaging example code (#4347)
     add 316d32a00 [ISSUE #3804]Commit consumption offset with specific MessageQueue. (#3838)
     add de5e6d9e0 remove redundancy group name check of null (#4363)
     add 5386a3c99 bump up fastjson version
     add 65a8525a6 Formatting code of maven dependencies management (#4371)
     add af011b1e2 Make it compile with Java9+ (#4373)
     add e05b09832 [ISSUE #4067] fix: Add TLS configuration documents. (#4387)
     add 3bd4b2b2f Update fastjson version to 1.2.69_noneautotype
     add 6f66b5d2a optimize for printObjectProperties (#4392)
     add febb21092 [ISSUE #4323] Schedule example add the default NamesrvAddr (#4352)
     add 0bc3b991e [ISSUE #4226] Message length exceeds the maximum length when sendback (#4338)
     add 0fca6df7f Something in docs may cause confusion (#4403)
     add d5ca4d05c [iSSUE-4396] Support get all producer on one broker (#4395)
     add 9ceff5ccc remove useless check (#4411)
     add 3646ac503 [ISSUE #4323] Optimized namespace example code (#4346)
     add 1f71c39c5 [ISSUE #2435] Solve the problem that DefaultMQProducer#request() sends messages and waits for timeout synchronously (#4313)
     add 9ca133a7d [ISSUE #4323] Quickstart adds the default NamesrvAddr (#4322)
     add ecb24c453 [ISSUE #4323] Batch example add the default NamesrvAddr (#4328)
     add 97709a8b8 [ISSUE #4323] Broadcast example add the default NamesrvAddr (#4344)
     add 1db9adb3e [ISSUE #4323] tracemessage example add the default NamesrvAddr (#4353)
     add 4fdf8b051 [ISSUE #4323] Transaction example add the default NamesrvAddr (#4354)
     add 96e8501d9 [ISSUE #23] solve error Algorithm HmacSHA1 not available when your java_home is not found (#3869)
     add 14042fa96 Update dledger version to 0.2.6 (#4417)
     add 7973f9ee5 [ISSUE #4377]Unnecessary null check before method call (#4378)
     add 0c1e3df72 Treat multiple file paths into one
     add 4e6011947 add test file
     add 040f2ffdd checkStyle check
     add c90f5f66b use java.nio.file.Path to change file path
     add c002f2df1 Merge branch 'apache:develop' into develop
     add 947056c92 add unit test to cover
     add 26c0a37f1 init defaultAclDir and defaultAclFile
     add dd9c74fc0 Merge pull request #4366 from fulln/develop
     add b1c5fefec [ISSUE#4263] Delete topic route info based on cluster when delete topic. (#4268)
     add 1f4ef2b31 [ISSUE #4419] Upgrade maven-checkstyle-plugin to 3.1.2 (#4420)
     add 53baee780 Add option p to the updateGlobalWhiteAddr command to indicate the full path of the ACL configuration file to be modified.If the option is null, updateGlobalWhiteAddr command will update the default acl configuration file.
     add 881ac3a5a Add license to acl configuration files.
     add 76dc96e9e update code to maintain compatibility.
     add 85abf4cec upddate the method by which a string is determined to be empty.
     add aacaf9153 Merge pull request #4152 from sunxi92/feature_update_global_white_addr
     add 73b9ac82b Let name server generate valid JSON response when process topic route queries (#4432)
     add f08c79ff9 [ISSUE #4349] fix negative index when index reach Integer.MAX_VALUE (#4447)
     add b62d3b2fd add a schedule task to update namesrv address (#4456)
     add d4093d71a [ISSUE #4426]fix ACL issue when sending messages back  (#4457)
     add fcfe26e44 [ISSUE #4037] Add DeleteExpiredCommitLogSubCommand (#4038)
     add 6273782d6 [ISSUE apache#4058] DLedgerCommitLog support LMQ (#4059)
     add fe5c39cdb Generate legal JSON response conditionally (#4473)
     add 34eb2ce7d [ISSUE #3906] Mark stream-related request by RequestType
     add a4a537063 [ISSUE #3906] Add extFields to AclClientRPCHook.parseRequestContent
     add f34c185e0 [ISSUE #3906] Add unit test
     add fff71bfa5 change version to 4.9.4 for release
     add 06f2208a3 [maven-release-plugin] prepare release rocketmq-all-4.9.4

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (59298c664)
            \
             N -- N -- N   refs/heads/master (06f2208a3)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/ISSUE_TEMPLATE/issue_template.md           |  23 +-
 .github/workflows/license-checker.yaml             |  35 ++
 .licenserc.yaml                                    |  45 +++
 CONTRIBUTING.md                                    |  19 +-
 README.md                                          | 163 ++++++++-
 acl/pom.xml                                        |   2 +-
 .../org/apache/rocketmq/acl/AccessValidator.java   |   2 +
 .../rocketmq/acl/common/AclClientRPCHook.java      |  54 +--
 .../org/apache/rocketmq/acl/common/AclSigner.java  |   3 +-
 .../rocketmq/acl/common/SessionCredentials.java    |  11 +-
 .../rocketmq/acl/plain/PlainAccessValidator.java   |  37 +-
 .../rocketmq/acl/plain/PlainPermissionManager.java | 174 +++++----
 .../acl/plain/RemoteAddressStrategyFactory.java    |  10 +-
 .../rocketmq/acl/common/AclClientRPCHookTest.java  | 116 ++++++
 .../acl/plain/PlainAccessControlFlowTest.java      | 396 ++++++++++++++++++++
 .../acl/plain/PlainAccessValidatorTest.java        | 258 ++++++++++---
 .../acl/plain/PlainPermissionManagerTest.java      |  32 ++
 .../conf/acl/plain_acl.yml                         |   7 +-
 .../conf/plain_acl.yml}                            |   5 +-
 .../conf/plain_acl.yml}                            |   5 +-
 .../conf/acl/plain_acl.yml                         |   7 +-
 .../update_global_white_addr/conf/acl/empty.yml    |   5 +-
 .../conf/acl/plain_acl.yml}                        |   0
 .../conf/plain_acl.yml}                            |   3 -
 broker/pom.xml                                     |   4 +-
 .../apache/rocketmq/broker/BrokerController.java   | 139 ++++---
 .../rocketmq/broker/client/ProducerManager.java    |  31 ++
 .../broker/offset/LmqConsumerOffsetManager.java    |   4 +
 .../apache/rocketmq/broker/out/BrokerOuterAPI.java |  96 +++--
 .../broker/plugin/MessageStoreFactory.java         |   2 +-
 .../processor/AbstractSendMessageProcessor.java    |  93 +----
 .../broker/processor/AdminBrokerProcessor.java     |  59 ++-
 .../broker/processor/EndTransactionProcessor.java  |   5 +-
 .../broker/processor/ReplyMessageProcessor.java    |  12 +-
 .../broker/processor/SendMessageProcessor.java     |  21 +-
 .../transaction/jdbc/JDBCTransactionStore.java     |   2 +-
 .../queue/TransactionalMessageUtil.java            |   3 +-
 .../rocketmq/broker/util/ServiceProvider.java      |  46 +--
 .../offset/LmqConsumerOffsetManagerTest.java       |  27 ++
 .../broker/processor/AdminBrokerProcessorTest.java |  83 +++++
 .../broker/processor/SendMessageProcessorTest.java |  15 +-
 client/pom.xml                                     |   6 +-
 .../org/apache/rocketmq/client/ClientConfig.java   |  25 +-
 .../rocketmq/client/common/ThreadLocalIndex.java   |   3 +-
 .../client/consumer/DefaultLitePullConsumer.java   |   9 +
 .../client/consumer/DefaultMQPullConsumer.java     |   3 +
 .../client/consumer/DefaultMQPushConsumer.java     |   8 +-
 .../rocketmq/client/consumer/LitePullConsumer.java |  10 +-
 ...a => AbstractAllocateMessageQueueStrategy.java} |  37 +-
 .../rebalance/AllocateMachineRoomNearby.java       |  20 +-
 .../rebalance/AllocateMessageQueueAveragely.java   |  21 +-
 .../AllocateMessageQueueAveragelyByCircle.java     |  21 +-
 .../rebalance/AllocateMessageQueueByConfig.java    |   3 +-
 .../AllocateMessageQueueByMachineRoom.java         |  18 +-
 .../AllocateMessageQueueConsistentHash.java        |  22 +-
 .../consumer/store/LocalFileOffsetStore.java       |   2 +-
 .../consumer/store/RemoteBrokerOffsetStore.java    |   2 +-
 .../client/impl/ClientRemotingProcessor.java       |   8 +-
 .../rocketmq/client/impl/MQClientAPIImpl.java      |  98 +++--
 .../ConsumeMessageConcurrentlyService.java         |   4 +-
 .../consumer/ConsumeMessageOrderlyService.java     |   2 +-
 .../impl/consumer/DefaultLitePullConsumerImpl.java |  44 ++-
 .../impl/consumer/DefaultMQPullConsumerImpl.java   |   6 +-
 .../impl/consumer/DefaultMQPushConsumerImpl.java   |  14 +-
 .../client/impl/consumer/RebalanceImpl.java        |   2 +-
 .../client/impl/factory/MQClientInstance.java      |   8 +-
 .../impl/producer/DefaultMQProducerImpl.java       |  76 ++--
 .../client/latency/LatencyFaultToleranceImpl.java  |   5 -
 .../apache/rocketmq/client/log/ClientLogger.java   |   6 +-
 .../client/producer/DefaultMQProducer.java         |  19 +-
 .../client/trace/AsyncTraceDispatcher.java         | 206 ++++++-----
 .../apache/rocketmq/client/trace/TraceContext.java |   2 +-
 .../rocketmq/client/trace/TraceDispatcher.java     |   2 +-
 .../trace/hook/EndTransactionTraceHookImpl.java    |   2 +-
 .../org/apache/rocketmq/client/ValidatorsTest.java |  10 +
 .../client/common/ThreadLocalIndexTest.java        |  17 +-
 .../consumer/DefaultLitePullConsumerTest.java      |  50 ++-
 ....java => AllocateMessageQueueByConfigTest.java} |  21 +-
 ... => AllocateMessageQueueByMachineRoomTest.java} |  38 +-
 .../client/producer/DefaultMQProducerTest.java     |   4 +-
 .../trace/DefaultMQConsumerWithTraceTest.java      |   2 +-
 .../DefaultMQLitePullConsumerWithTraceTest.java    |   2 +-
 .../DefaultMQProducerWithOpenTracingTest.java      |   4 +-
 .../trace/DefaultMQProducerWithTraceTest.java      |   4 +-
 .../TransactionMQProducerWithOpenTracingTest.java  |   4 +-
 .../trace/TransactionMQProducerWithTraceTest.java  |   4 +-
 common/pom.xml                                     |  10 +-
 .../apache/rocketmq/common/CountDownLatch2.java    |   2 +
 .../java/org/apache/rocketmq/common/MQVersion.java |   2 +-
 .../java/org/apache/rocketmq/common/MixAll.java    |  27 +-
 .../java/org/apache/rocketmq/common/UtilAll.java   |   8 +
 .../common/compression/CompressionType.java        |  90 +++++
 .../rocketmq/common/compression/Compressor.java    |  27 +-
 .../common/compression/CompressorFactory.java      |  25 +-
 .../rocketmq/common/compression/Lz4Compressor.java |  86 +++++
 .../common/compression/ZlibCompressor.java         |  98 +++++
 .../common/compression/ZstdCompressor.java         |  86 +++++
 .../apache/rocketmq/common/message/Message.java    |  10 +-
 .../rocketmq/common/message/MessageDecoder.java    |  56 +--
 .../rocketmq/common/protocol/RequestCode.java      |   4 +
 .../body/{Connection.java => ProducerInfo.java}    |  37 +-
 ...tOffsetBodyForC.java => ProducerTableInfo.java} |  20 +-
 ...r.java => GetAllProducerInfoRequestHeader.java} |   8 +-
 .../protocol/header/PullMessageRequestHeader.java  |  80 ++++-
 .../protocol/header/PullMessageResponseHeader.java |  38 +-
 .../header/SendMessageRequestHeaderV2.java         |  93 ++++-
 .../protocol/header/SendMessageResponseHeader.java |  38 +-
 .../UpdateGlobalWhiteAddrsConfigRequestHeader.java |  10 +
 .../DeleteTopicFromNamesrvRequestHeader.java       |  10 +
 .../header/namesrv/GetRouteInfoRequestHeader.java  |  12 +
 .../common/protocol/route/TopicRouteData.java      |   6 +-
 .../rocketmq/common/rpchook/StreamTypeRPCHook.java |  17 +-
 .../org/apache/rocketmq/common/stats/Stats.java    |  47 +++
 .../rocketmq/common/sysflag/MessageSysFlag.java    |  28 ++
 .../rocketmq/common/topic/TopicValidator.java      |   5 +
 .../common/compression/CompressionTest.java        | 106 ++++++
 .../rocketmq/common/filter/FilterAPITest.java      |   2 +-
 .../common/message/MessageDecoderTest.java         |  26 ++
 .../protocol/header/FastCodesHeaderTest.java       |  31 +-
 .../common/sysflag/CompressionFlagTest.java        |  55 +++
 distribution/benchmark/runclass.sh                 |   1 +
 distribution/benchmark/shutdown.sh                 |  20 +-
 distribution/bin/tools.sh                          |  14 +
 distribution/conf/{acl => }/plain_acl.yml          |   0
 distribution/pom.xml                               |   2 +-
 docs/cn/Configuration_TLS.md                       | 119 ++++++
 docs/cn/Deployment.md                              |  12 +-
 docs/cn/RocketMQ_Example.md                        |  86 ++---
 docs/cn/acl/user_guide.md                          |   4 +-
 docs/cn/architecture.md                            |   2 +-
 docs/cn/best_practice.md                           |   4 +-
 .../client/java/API_Reference_DefaultMQProducer.md |   4 +-
 docs/cn/design.md                                  |   4 +-
 docs/cn/msg_trace/user_guide.md                    |   4 +-
 docs/cn/operation.md                               |  34 +-
 docs/en/CLITools.md                                |  56 ++-
 docs/en/Concept.md                                 |   4 +-
 docs/en/Configuration_Client.md                    |   4 +-
 docs/en/Configuration_System.md                    |   2 +-
 docs/en/Configuration_TLS.md                       | 123 +++++++
 docs/en/Deployment.md                              |   2 +-
 docs/en/Design_Filter.md                           |   2 +-
 docs/en/Design_LoadBlancing.md                     |   2 +-
 docs/en/Design_Remoting.md                         |   4 +-
 docs/en/Example_Delay.md                           |   4 +
 docs/en/Example_Filter.md                          |   4 +-
 docs/en/Example_OpenMessaging.md                   |   2 +-
 docs/en/FAQ.md                                     |   6 +-
 docs/en/Feature.md                                 |   2 +-
 docs/en/Operations_Consumer.md                     |   6 +-
 docs/en/Operations_Producer.md                     |   2 +-
 docs/en/Operations_Trace.md                        |   4 +-
 docs/en/README.md                                  |   2 +-
 docs/en/Troubleshoopting.md                        |   2 +-
 docs/en/acl/Operations_ACL.md                      |   2 +-
 docs/en/best_practice.md                           |   2 +-
 .../client/java/API_Reference_DefaultMQProducer.md |   2 +-
 docs/en/design.md                                  |   2 +-
 docs/en/index.md                                   |   0
 docs/en/msg_trace/user_guide.md                    |   2 +-
 docs/en/operation.md                               |  86 +++--
 example/pom.xml                                    |   4 +-
 .../example/batch/SimpleBatchProducer.java         |  20 +-
 .../rocketmq/example/batch/SplitBatchProducer.java |  31 +-
 .../rocketmq/example/benchmark/BatchProducer.java  |  21 +-
 .../rocketmq/example/benchmark/Consumer.java       |   3 +
 .../rocketmq/example/benchmark/Producer.java       |  72 +++-
 .../example/benchmark/TransactionProducer.java     |   3 +
 .../rocketmq/example/broadcast/PushConsumer.java   |  28 +-
 .../example/namespace/ProducerWithNamespace.java   |  17 +-
 .../namespace/PullConsumerWithNamespace.java       |  22 +-
 .../namespace/PushConsumerWithNamespace.java       |  19 +-
 .../example/openmessaging/SimpleProducer.java      |  34 +-
 .../example/openmessaging/SimplePullConsumer.java  |  10 +-
 .../example/openmessaging/SimplePushConsumer.java  |  27 +-
 .../rocketmq/example/quickstart/Consumer.java      |  24 +-
 .../rocketmq/example/quickstart/Producer.java      |  23 +-
 .../rocketmq/example/rpc/RequestProducer.java      |   4 +
 .../rocketmq/example/rpc/ResponseConsumer.java     |   4 +-
 .../example/schedule/ScheduledMessageConsumer.java |  32 +-
 .../example/schedule/ScheduledMessageProducer.java |  21 +-
 .../example/tracemessage/OpenTracingProducer.java  |  30 +-
 .../tracemessage/OpenTracingPushConsumer.java      |  36 +-
 .../OpenTracingTransactionProducer.java            |  29 +-
 .../example/tracemessage/TraceProducer.java        |  22 +-
 .../example/tracemessage/TracePushConsumer.java    |  25 +-
 .../example/transaction/TransactionProducer.java   |  28 +-
 filter/pom.xml                                     |   2 +-
 .../apache/rocketmq/filter/util/BloomFilter.java   |   7 +-
 logging/pom.xml                                    |   2 +-
 .../org/apache/rocketmq/logging/inner/Level.java   |   3 -
 namesrv/pom.xml                                    |   2 +-
 .../apache/rocketmq/namesrv/NamesrvController.java |  16 +-
 .../apache/rocketmq/namesrv/NamesrvStartup.java    |   9 +-
 .../rocketmq/namesrv/kvconfig/KVConfigManager.java |   3 +-
 .../namesrv/processor/DefaultRequestProcessor.java |  54 ++-
 .../namesrv/routeinfo/RouteInfoManager.java        | 399 ++++++++++-----------
 .../rocketmq/namesrv/NamesrvControllerTest.java    |  91 +++++
 .../rocketmq/namesrv/NamesrvStartupTest.java       |  66 ++++
 .../routeinfo/RouteInfoManagerBrokerPermTest.java  | 111 ++++++
 .../RouteInfoManagerBrokerRegisterTest.java        | 124 +++++++
 .../RouteInfoManagerStaticRegisterTest.java        | 153 ++++++++
 .../namesrv/routeinfo/RouteInfoManagerTest.java    | 162 ---------
 .../routeinfo/RouteInfoManagerTestBase.java        | 188 ++++++++++
 openmessaging/pom.xml                              |   2 +-
 .../io/openmessaging/rocketmq/utils/BeanUtils.java |   6 +-
 pom.xml                                            | 253 +++++++++----
 remoting/pom.xml                                   |   9 +-
 .../rocketmq/remoting/netty/NettyDecoder.java      |   6 +-
 .../rocketmq/remoting/netty/NettyEncoder.java      |   4 +-
 .../remoting/netty/NettyRemotingAbstract.java      |   1 +
 .../remoting/netty/NettyRemotingClient.java        |   2 +-
 .../rocketmq/remoting/netty/NettyServerConfig.java |   2 +-
 .../remoting/protocol/FastCodesHeader.java         |  50 +++
 .../rocketmq/remoting/protocol/LanguageCode.java   |   3 +-
 .../remoting/protocol/RemotingCommand.java         |  89 +++--
 .../remoting/protocol/RemotingSerializable.java    |  16 +-
 .../{SerializeType.java => RequestType.java}       |  17 +-
 .../remoting/protocol/RocketMQSerializable.java    | 130 ++++---
 .../remoting/protocol/LanguageCodeTest.java}       |  20 +-
 .../remoting/protocol/RemotingCommandTest.java     |  15 +-
 .../protocol/RemotingSerializableTest.java         |  44 ++-
 .../remoting/protocol/RequestTypeTest.java}        |  20 +-
 .../protocol/RocketMQSerializableTest.java         |  68 +++-
 srvutil/pom.xml                                    |   2 +-
 .../apache/rocketmq/srvutil/FileWatchService.java  |   3 +-
 store/pom.xml                                      |   3 +-
 .../java/org/apache/rocketmq/store/CommitLog.java  | 218 +++++------
 .../org/apache/rocketmq/store/ConsumeQueue.java    |  55 ++-
 .../apache/rocketmq/store/DefaultMessageStore.java |  25 +-
 .../java/org/apache/rocketmq/store/MappedFile.java |  44 ++-
 .../org/apache/rocketmq/store/MultiDispatch.java   |  19 +-
 .../apache/rocketmq/store/StoreStatsService.java   |  80 ++++-
 .../rocketmq/store/config/MessageStoreConfig.java  |  19 +-
 .../rocketmq/store/dledger/DLedgerCommitLog.java   |  70 ++--
 .../org/apache/rocketmq/store/ha/HAConnection.java |  48 ++-
 .../org/apache/rocketmq/store/ha/HAService.java    |   9 +-
 .../org/apache/rocketmq/store/index/IndexFile.java |  39 +-
 .../apache/rocketmq/store/index/IndexHeader.java   |  13 +-
 .../apache/rocketmq/store/index/IndexService.java  |   2 +-
 .../store/schedule/ScheduleMessageService.java     |  28 +-
 .../rocketmq/store/stats/BrokerStatsManager.java   | 167 ++++-----
 .../apache/rocketmq/store/AppendCallbackTest.java  |   2 +-
 .../apache/rocketmq/store/BatchPutMessageTest.java |   3 +-
 .../store/DefaultMessageStoreCleanFilesTest.java   |  59 +--
 .../rocketmq/store/FlushDiskWatcherTest.java       |  14 +-
 .../apache/rocketmq/store/MultiDispatchTest.java   |  19 +-
 .../rocketmq/store/StoreStatsServiceTest.java      |  18 +-
 .../org/apache/rocketmq/store/StoreTestUtil.java   |  15 +
 .../store/dledger/DLedgerCommitlogTest.java        |   6 +-
 .../store/dledger/DLedgerMultiPathTest.java        | 104 ++++++
 .../apache/rocketmq/store/index/IndexFileTest.java |   2 +-
 .../store/schedule/ScheduleMessageServiceTest.java |   6 +-
 .../test/java/stats/BrokerStatsManagerTest.java    |  26 +-
 test/pom.xml                                       |  12 +-
 .../rocketmq/test/util/DuplicateMessageInfo.java   |   4 +-
 tools/pom.xml                                      |   6 +-
 .../rocketmq/tools/admin/DefaultMQAdminExt.java    |  37 +-
 .../tools/admin/DefaultMQAdminExtImpl.java         |  71 +++-
 .../apache/rocketmq/tools/admin/MQAdminExt.java    |  20 +-
 .../rocketmq/tools/command/MQAdminStartup.java     |  18 +-
 .../apache/rocketmq/tools/command/SubCommand.java  |   4 +
 .../command/acl/DeleteAccessConfigSubCommand.java  |   5 +
 .../command/acl/GetAccessConfigSubCommand.java     |   4 +
 .../acl/UpdateGlobalWhiteAddrSubCommand.java       |  15 +-
 ....java => DeleteExpiredCommitLogSubCommand.java} |  24 +-
 .../tools/command/broker/SendMsgStatusCommand.java |   2 +-
 .../command/cluster/CLusterSendMsgRTCommand.java   |   4 +-
 .../connection/ConsumerConnectionSubCommand.java   |   8 +-
 .../command/consumer/ConsumerStatusSubCommand.java |  15 +-
 .../tools/command/export/ExportMetricsCommand.java |   6 +-
 .../command/message/CheckMsgSendRTCommand.java     |   2 +-
 .../message/PrintMessageByQueueCommand.java        |   2 +-
 .../command/message/PrintMessageSubCommand.java    |   7 +-
 .../message/QueryMsgTraceByIdSubCommand.java       |   7 +-
 .../tools/command/message/SendMessageCommand.java  |   4 +-
 .../ProducerSubCommand.java}                       |  53 +--
 .../tools/command/stats/StatsAllSubCommand.java    |   6 +-
 .../tools/command/topic/DeleteTopicSubCommand.java |   2 +-
 .../tools/admin/DefaultMQAdminExtTest.java         |  51 ++-
 ...a => DeleteExpiredCommitLogSubCommandTest.java} |  32 +-
 .../ProducerSubCommandTest.java}                   |  12 +-
 282 files changed, 6505 insertions(+), 2551 deletions(-)
 create mode 100644 .github/workflows/license-checker.yaml
 create mode 100644 .licenserc.yaml
 create mode 100644 acl/src/test/java/org/apache/rocketmq/acl/common/AclClientRPCHookTest.java
 create mode 100644 acl/src/test/java/org/apache/rocketmq/acl/plain/PlainAccessControlFlowTest.java
 copy acl/src/test/resources/{ => both_acl_file_folder_conf}/conf/acl/plain_acl.yml (94%)
 copy acl/src/test/resources/{conf/plain_acl_with_no_accouts.yml => both_acl_file_folder_conf/conf/plain_acl.yml} (96%)
 copy acl/src/test/resources/{conf/plain_acl_with_no_accouts.yml => empty_acl_folder_conf/conf/plain_acl.yml} (94%)
 copy acl/src/test/resources/{ => only_acl_folder_conf}/conf/acl/plain_acl.yml (94%)
 copy distribution/conf/tools.yml => acl/src/test/resources/update_global_white_addr/conf/acl/empty.yml (94%)
 copy acl/src/test/resources/{conf/plain_acl_correct.yml => update_global_white_addr/conf/acl/plain_acl.yml} (100%)
 copy acl/src/test/resources/{conf/plain_acl_global_white_addrs.yml => update_global_white_addr/conf/plain_acl.yml} (95%)
 copy client/src/main/java/org/apache/rocketmq/client/consumer/rebalance/{AllocateMessageQueueAveragelyByCircle.java => AbstractAllocateMessageQueueStrategy.java} (66%)
 copy client/src/test/java/org/apache/rocketmq/client/consumer/rebalance/{AllocateMessageQueueAveragelyByCircleTest.java => AllocateMessageQueueByConfigTest.java} (68%)
 copy client/src/test/java/org/apache/rocketmq/client/consumer/rebalance/{AllocateMessageQueueAveragelyByCircleTest.java => AllocateMessageQueueByMachineRoomTest.java} (61%)
 create mode 100644 common/src/main/java/org/apache/rocketmq/common/compression/CompressionType.java
 copy filter/src/main/java/org/apache/rocketmq/filter/FilterSpi.java => common/src/main/java/org/apache/rocketmq/common/compression/Compressor.java (56%)
 copy filter/src/main/java/org/apache/rocketmq/filter/expression/EmptyEvaluationContext.java => common/src/main/java/org/apache/rocketmq/common/compression/CompressorFactory.java (59%)
 create mode 100644 common/src/main/java/org/apache/rocketmq/common/compression/Lz4Compressor.java
 create mode 100644 common/src/main/java/org/apache/rocketmq/common/compression/ZlibCompressor.java
 create mode 100644 common/src/main/java/org/apache/rocketmq/common/compression/ZstdCompressor.java
 copy common/src/main/java/org/apache/rocketmq/common/protocol/body/{Connection.java => ProducerInfo.java} (57%)
 copy common/src/main/java/org/apache/rocketmq/common/protocol/body/{ResetOffsetBodyForC.java => ProducerTableInfo.java} (70%)
 copy common/src/main/java/org/apache/rocketmq/common/protocol/header/{GetAllTopicConfigResponseHeader.java => GetAllProducerInfoRequestHeader.java} (86%)
 copy remoting/src/main/java/org/apache/rocketmq/remoting/netty/AsyncNettyRequestProcessor.java => common/src/main/java/org/apache/rocketmq/common/rpchook/StreamTypeRPCHook.java (61%)
 create mode 100644 common/src/main/java/org/apache/rocketmq/common/stats/Stats.java
 create mode 100644 common/src/test/java/org/apache/rocketmq/common/compression/CompressionTest.java
 rename broker/src/test/java/org/apache/rocketmq/broker/processor/AbstractSendMessageProcessorTest.java => common/src/test/java/org/apache/rocketmq/common/protocol/header/FastCodesHeaderTest.java (72%)
 create mode 100644 common/src/test/java/org/apache/rocketmq/common/sysflag/CompressionFlagTest.java
 rename distribution/conf/{acl => }/plain_acl.yml (100%)
 create mode 100644 docs/cn/Configuration_TLS.md
 create mode 100644 docs/en/Configuration_TLS.md
 delete mode 100644 docs/en/index.md
 create mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/NamesrvControllerTest.java
 create mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/NamesrvStartupTest.java
 create mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerBrokerPermTest.java
 create mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerBrokerRegisterTest.java
 create mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerStaticRegisterTest.java
 delete mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerTest.java
 create mode 100644 namesrv/src/test/java/org/apache/rocketmq/namesrv/routeinfo/RouteInfoManagerTestBase.java
 create mode 100644 remoting/src/main/java/org/apache/rocketmq/remoting/protocol/FastCodesHeader.java
 copy remoting/src/main/java/org/apache/rocketmq/remoting/protocol/{SerializeType.java => RequestType.java} (74%)
 copy remoting/src/{main/java/org/apache/rocketmq/remoting/protocol/RemotingSysResponseCode.java => test/java/org/apache/rocketmq/remoting/protocol/LanguageCodeTest.java} (68%)
 copy remoting/src/{main/java/org/apache/rocketmq/remoting/protocol/RemotingSysResponseCode.java => test/java/org/apache/rocketmq/remoting/protocol/RequestTypeTest.java} (67%)
 create mode 100644 store/src/test/java/org/apache/rocketmq/store/dledger/DLedgerMultiPathTest.java
 copy tools/src/main/java/org/apache/rocketmq/tools/command/broker/{CleanExpiredCQSubCommand.java => DeleteExpiredCommitLogSubCommand.java} (76%)
 copy tools/src/main/java/org/apache/rocketmq/tools/command/{namesrv/WipeWritePermSubCommand.java => producer/ProducerSubCommand.java} (58%)
 copy tools/src/test/java/org/apache/rocketmq/tools/command/broker/{CleanExpiredCQSubCommandTest.java => DeleteExpiredCommitLogSubCommandTest.java} (58%)
 copy tools/src/test/java/org/apache/rocketmq/tools/command/{consumer/ConsumerProgressSubCommandTest.java => producer/ProducerSubCommandTest.java} (89%)