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
from f7425f52f9 [maven-release-plugin] prepare release rocketmq-all-5.1.3
(#6938)
add e369d7deac [maven-release-plugin] prepare for next development
iteration (#6939)
add 16ef575537 [ISSUE #4612] Fix trace not complete (#6941)
add fa8f256b50 [ISSUE #6943] fix docs typo in docs/cn/controller/design.md
#6943
add f3ce3e8fb9 [ISSUE #6940] change dataReadAheadEnable default to false
(#6944)
add dd27e8b77c [ISSUE #6945] Add doc issue template (#6946)
add c96a0b5665 [ISSUE #6933] Support delete expired or damaged file in
tiered storage and optimize fetch code (#6952)
add 8ab99aceb7 [ISSUE #6754] Support reentrant orderly consumption for
proxy (#6755)
add 87075c2662 [ISSUE #6955] add removeOne method for ReceiptHandleGroup
(#6955)
add bbbe737e4e [ISSUE #6964] use the correct context in telemetry; polish
the code structure (#6965)
add 79967c00b2 [ISSUE #6933] Optimize delete topic in tiered storage
(#6973)
add f07f93b3cf [ISSUE #6982] Update the version in the README.md document
to 5.1.3 (#6983)
add d1bcda57b3 [ISSUE #6974] Feature/refector receipt processor (#6975)
add 5c3bd98e50 [ISSUE #6742] Support daily build tests (#6744)
add 955428278c [ISSUE #6991] Delete rocketmq.client.logUseSlf4j=true in
JAVA_OPT
add 00fc42b8be [ISSUE #6957] Support Proxy Protocol for gRPC and Remoting
Server (#6958)
add 4f840afcb0 [ISSUE #6960] Added Slot formatting sketch comments (#6961)
add 58550f074e [ISSUE #7008] Fix the issue of protocol parsing failure
when using haproxy and tls together (#7009)
add 8e6b5e62bd [ISSUE #6999] Add interface ReceiptHandleManager (#7000)
add 49ccdc9d2a The bug label relies on manual identification rather than
automatic application (#7006)
add 15c6889bb0 fix receive message activity attempt id not correct (#7012)
add b4496be687 [ISSUE #7010] Fix the HandshakeHandler returns when detect
haproxy version need more data (#7011)
add 1f0f3b2d6d [ISSUE #7013] Polish ColdDataCheckService's logic (#7014)
add d206590692 [ISSUE #6979] Fix opaque will be duplicate in multi client
scene (#6985)
add 33cb22e1c0 [ISSUE #7018] fix append in tiered storage when message
offset incorrect (#7019)
add 70a66eda2c Fix LEAK: HAProxyMessage.release() was not called before
it's garbage-collected (#7025)
add 5914ff8dbb [ISSUE #6968] fix grpc acl bug (#6969)
add 440be1ed4c [ISSUE #7031] fix Pop caused broker memory leak bug (#7032)
add 737c1e5338 [ISSUE #7029] Add a config to determine whether pop
response should return the actual retry topic or tamper with the original topic
(#7030)
add 7996ec3b3f [ISSUE #6879] ConcurrentHashMapUtils fails to solve the
loop bug in JDK8 (#6883)
add e0f5295fed passing the renew event type to create the correct context
(#7045)
add 2c5808b9fd [#ISSUE 7035] Fix correct min offset behavior in tiered
storage (#7038)
add ebad3c8a6b [ISSUE #7047] NettyRemotingClient#invokeOneway throw
Exception with address
add 804f2d85f2 [ISSUE ##7036] rename method: getWriteQueueIdByBroker to
getWriteQueueNumsByBroker(#7037)
add af993d28e2 [ISSUE #3717][RIP-27] Auto batching in producer
add 90c5382aee [ISSUE #7061] Support forward HAProxyMessage for Multi
Protocol server. (#7062)
add 8027cfc7cb [ISSUE #7063] doc: fix typo in user_guide.md
add 3102758487 fix: npe in lockBatchMQ and unlockBatchMQ (#7078)
add 047ef7498f Ensuring consistency between broker and nameserver data
when deleting a topic (#7066)
add 32eb1d5557 [ISSUE #7068] Fix failed to create syncer topic when the
proxy was just started (#7076)
add d797377880 [ISSUE #7056] Avoid close success channel if invokeSync
most time cost on get connection for channel (#7057)
add d0a69be563 [ISSUE #6810] Fix the bug of mistakenly deleting data in
clientChannelTable when the channel expire (#7073)
add d429bd72df [ISSUE #7039] Fix retry message filter when subtype is TAG
(#7040)
add 8baa51e85e [ISSUE #7091] Update the cd command in README (#7096)
add 8bcc94829d [ISSUE #7077] Schedule CQ offset invalid. offset=77,
cqMinOffset=0, cqMaxOffset=74, queueId=1 (#7084)
add a1bf49d5d0 [ISSUE #7093] Avoid dispatch tasks too much cause dispatch
task failed (#7094)
add ab61183030 [ISSUE #7104] Add ReceiptHandleGroupKey for RenewEvent
(#7105)
add c06facf089 [ISSUE #7102] Making perm equal to 0 is valid
add 1fe5d62334 [ISSUE #7074] Allow a BoundaryType to be specified when
retrieving offset based on the timestamp (#7082)
add 3bdabf703b [ISSUE #7109] support the mixed topic type (#7110)
add c73d8ee346 [ISSUE #6962]operation.md Format adjustment
add 3a6ef0400c [ISSUE #7064] [RIP-66-1] Support KV(RocksDB) Storage for
Metadata (#7092)
add 6bc2c8474a [ISSUE #7135] Temporarily ignoring plainAccessValidator
test (#7135)
add 04683ec058 [ISSUE 7117] check message is in memory or not when init
consumer offset for pop (#7118)
add bcba5a8e62 [ISSUE #7146] Log output error needs to be corrected (#7147)
add b2deef179d [ISSUE #7144] Accelerate the recovery speed of the tiered
storage module (#7145)
add 99b39a35f2 [ISSUE #7115] Fix grpc response message NPE (#7116)
add c0ba453f38 [ISSUE #7129] Fix resource collisions in acl tests (#7130)
add 8741ff8c9b [ISSUE #7153] Add switch for MIXED message type (#7154)
add f534501855 [Feature 7155] add errlog when cmd err (#7157)
add db58f00c0f [ISSUE #7169] Change metadataThreadPoolQueueCapacity to
100000 (#7170)
add 1f04e68a2e [ISSUE #7172] Unified Chinese for Name Server (#7173)
add 25005060bb [ISSUE #7176] Correct mismatched logs (#7177)
add ac411daa27 [ISSUE #7183] Correct mismatched commandDesc (#7184)
add 55e0cdb2af fix: IndexOutOfBoundsException when process pop response
(#7003)
add a9c0b43f7f [ISSUE #7192] Correct typos (#7193)
add 5a3de926b8 Optimize updateSubscription check exist loop (#7190)
add 50d1050437 To config the cardinalityLimit for openTelemetry metrics
exporting and fix logging config for metrics (#7196)
add a4bcc2a74d [ISSUE #7178] refresh metadata after broker startup
add 3df1b9232a [ISSUE #7201] Remove the DefaultMessageStore.class
dependency in TransientStorePool
add 2b93e1e32f Update mqbroker to use runbroker.sh instead of runserver.sh
when use --enable-proxy (#7150)
add 05e7cde610 [ISSUE #7042] maven-compile job failed, Because TlsTest's
serverRejectsSSLClient test case will throw TooLongFrameException (#7179)
add 72d796f2b2 [ISSUE #7205] support batch ack for pop orderly (#7206)
add cc16a1b512 Set table reference the same object for
setSubscriptionGroupTable method (#7204)
add fec1414814 [ISSUE #7166] Optimize the display format of admin (#7210)
add 744167bd01 [ISSUE #7142] Add command `RocksDBConfigToJson` to inspect
rocksdb content (#7180)
add bdede35db3 [ISSUE #7124] Fix the typos in the code comments (#7125)
add 9bb73b9a38 [#ISSUE 7222] Bug fix and refactoring of the Indexfile in
tiered storage (#7224)
add 69c26d3d29 [ISSUE #7228] Converge the use of some important variables
for some class
add 3884f59594 [ISSUE #7149] When creating and updating Topic, there will
be problems with permission settings (#7151)
add 017ad11047 [ISSUE #7219] Fix Concurrent modify syncStateSet and Mark
synchronizing frequently when shrink. (#7220)
add 77e8e54b37 [ISSUE #7223] Support batch ack for grpc client in proxy
(#7225)
add 7e018520ef Add expireAfterAccess for cache (#7247)
add 5f6dc90f9d [ISSUE #7250] Beautify command rocksDBConfigToJson output
add b4f73e2aab [ISSUE #7271] Optimize the configuration for setting the
quantity of TimerDequeuePutMessageService (#7272)
add 3e100103af [ISSUE #7277] Enhance rocksDBConfigToJson to support
metadata counting (#7276)
add fa54915437 [ISSUE #7261] Slave high CPU usage when
enableScheduleAsyncDeliver=true (#7262)
add 9f34f55e1d [ISSUE #7226] Filter tlvs in ppv2 which contents not are
spec-compliant ASCII characters and space (#7227)
add b028277018 [ISSUE #6567] [RIP-63] Queue Selection Strategy
Optimization (#6568)
add bd0e9c09db [ISSUE #7111] Remove responseFuture from the responseTable
when exception occurs (#7112)
add c78061bf6c [ISSUE#7280] Fix and refactor handle commit exception in
tiered storage (#7281)
add d000ef947d [ISSUE #7283] Incorrect dledger commitlog min offset after
mappedFile re delete failed (#7284)
add f82718ae3b [ISSUE #7208] fix: when deleting topic also delete its pop
retry topic (#7209)
add 31d10385d1 [ISSUE #7289] Fixed asynchronous send backpressure
capability
add d67b9d64cb [ISSUE #7302] Fix singleTopicRegister code deleted in merge
add 37017dbaec [ISSUE #7305] Fix metrics and transactional module not
shutdown while broker offline cause coredump(#7307)
add e11e29419f [ISSUE #7308] Adding topic blacklist and filter in tiered
storage module (#7310)
add 628020537f [ISSUE #7293] Fix NPE when alter sync state set
add 6fd0073d64 [ISSUE #7319] Optimize fault-tolerant mechanism for sending
messages and hot update switch (#7320)
add c100d815d7 [ISSUE #7328] Convergent thread pool creation (#7329)
add dad6b4dadf [ISSUE #7334] `registerIncrementBrokerData` for single
topic update (#7335)
add 0dbd0772b9 [ISSUE #7326] Split the request to register to the
nameserver (#7325)
add a9e353285c Add the configuration of topicQueueLock number to better
support different scenarios (#7317)
add 57f04c95d3 [ISSUE #7343] Rollback modifications to registerProcessor
add dad6ad09d1 [ISSUE #7340] Abstract Duplicate code into a method in
`TopicConfigManager` (#7341)
add dddd58d2cc Set experimental_ui_max_stdouterr_bytes to 10MB in bazel
(#7348)
add 1a8e7cb17c [ISSUE #7345] Fix wrong result of searchOffset in tiered
storage
add fd32dae2ab [ISSUE #6633] Not clear uninitialized files and fix
metadata recover (#7342)
add 4a8e0d5b85 [ISSUE #7351] Allow mqadmin to operate slave nodes
add 831fcc76cd [ISSUE #7363] Fix get message from tiered storage return
incorrect next pull offset (#7365)
add f05a8da760 Print admin queue watermark in log (#7372)
add 42fcd278ca [ISSUE #7374] Prepare to release Apache RocketMQ 5.1.4
(#7375)
add b8610d87bb Replace loggingMetricExporter with
OtlpJsonLoggingMetricExporter. (#7373)
add 1a681bdf9b [maven-release-plugin] prepare release rocketmq-all-5.1.4
(#7377)
add 73b3fde837 [maven-release-plugin] prepare for next development
iteration (#7379)
add 88a9d939ce [ISSUE #7381] Fix the problem of inaccurate timer message
metric (#7382)
add d7e5c4d1a4 [ISSUE #7389] Fix the problem that getLastMappedFile
function affects performance
add 3fd43353fd [ISSUE #7393] Add timeout configuration for grpc server
(#7394)
add c3b86cd1e3 [ISSUE #7398] Fix ExportConfigsCommand NPE (#7399)
add 959a98120c [ISSUE #7400] Fix getBrokerEpochSubCommand NPE
add 0a6ae4605f [ISSUE #7396] Fix wrong word in
BrokerController#doResterBrokerAll (#7397)
add 4f1b42a7c5 [ISSUE #7410] Handle the Exception when the Proxy requests
the client
add c36bb78e85 [ISSUE 7313] Enhancement Optimization Method name (#7420)
add 84156084a4 [ISSUE #7321] Refector NettyRemotingAbstract with unify
future implementation (#7322)
add b9ffe0f957 [ISSUE #7296] Add ChannelEventListener for MQClientAPIImpl
(#7324)
add 3808387e13 [ISSUE #7429] clean channel map when CLIENT_UNREGISTER in
proxy
add 0027a1486d [ISSUE #7412] Fix pop revive message error when reput
checkpoint
add b18e564add [ISSUE #7431] Fix flaky test of
DLedgerControllerTest#testBrokerLifecycleListener (#7432)
add 38d3d5d95d [ISSUE #7433]Update the version in the README.md document
to 5.1.4 (#7434)
add 4acb43ecee [ISSUE #7330] Add goaway and reconnection mechanism (#7331)
add dc3f22ffe9 add getter for class Message ,fix json serialize bug (#7439)
add 7e4879a3bc [ISSUE #7441] Fix log "Init the confirmOffset" keep
printing error in controller mode (#7442)
add 5d492c3382 [ISSUE #7444] Fix testCalculateFileSizeInPath test can not
rerun in same environment (#7445)
add 28427d4012 [ISSUE #7425] Add RoccketmqControllerConsole log to fix bug
(#7458)
add dc62d7f2e1 [ISSUE #7451] Override toString for
TopicConfigAndQueueMapping
add 2113fa371b [ISSUE #7453] Fix the problem in constructing the
GetMessageResult (#7456)
add f565654351 [ISSUE #7064] [RIP-66-2] Support KV(RocksDB) Storage for
ConsumeQueue (#7120)
add 0f01df460f [ISSUE 7265] Doc: Adding how to debug in Idea document
(#7266)
add 3a035d75d7 [ISSUE #7464] Polish the pop logger format (#7465)
add d73b601382 [ISSUE #7330] Fix channel connect issue for goaway (#7467)
add 82b2f8eefa AddBroker removes parsing configuration from body (#7472)
add f0f15b5e21 [ISSUE #7454] Utilizing cache to avoid duplicate parsing
(#7455)
add dbc633d92b Check the input yaml and the path in ACL (#7475)
add 3968c186a5 [ISSUE #7231] Fix: proxy client language error (#7200)
add 8f020b397a [ISSUE #7489] Code comment enhancement in example (#7490)
add 2043dd5034 [ISSUE #7493] Introduce a new event NettyEventType.ACTIVE
(#7494)
add 38d267672a Remove getBrokerClusterAclConfig from admin and server
(#7486)
add f90c55341c [ISSUE #7497] Extract the frequency of calling
updateNamesrvAddr into a configuration (#7498)
add 91349f30b9 [ISSUE #7437] Add the CRC check of commitlog (#7468)
add 48ef5ced46 [ISSUE #7505] Do not validate the length when deleting a
topic
add 26fa050148 [ISSUE #7501] The broker supports idempotence in creating
topics (#7502)
add 46962c262c [ISSUE #7523] Message will flush timeout when
transientStorePoolEnable=true and flushDiskType=SYNC_FLUSH (#7524)
add 00965d8c11 [ISSUE #7531] Clear POP_CK when sending messages (#7532)
add ead3d90501 [ISSUE #7511] Lock granularity issue causing LMQ message
loss (#7525)
add 70dc93abbc Fix tiered store README.md error about Configuration (#7436)
add 27759f3556 Fix unstable UtilAllTest#testCalculateFileSizeInPath on
Windows (#7419)
add 15d32db03b [ISSUE #7547] Let consumer be aware of message queue
assignment change (#7548)
add 1be5ebc736 [ISSUE #7551] Reuse helper methods from Netty to free
direct byte buffer (#7550)
add 4791d9a1f1 [ISSUE #5923] Revert "Fix tiered store README.md error
about Configuration (#7436)" (#7557)
add 651a5ca992 [ISSUE #7562] BugFix for estimating message accumulation
correctly (#7563)
add 01a2aef96b [ISSUE #7570] Add default value for lastPopTimestamp (#7571)
add 8e7e2b5f50 [ISSUE #7574] Fix RunningFlags conflict
add 63130f51e8 [ISSUE #7545] [RIP-65] Support efficient random index for
massive messages (#7546)
add ca721b0145 [ISSUE #7462] Remove deprecated LocalTransactionExecuter
(#7463)
add a7d493b2fb transactionProducer get the topic route before sending the
message (#7569)
add 5b43387be3 [ISSUE #7543] Retry topic v2 in pop (#7544)
add e955e4399c [ISSUE #7577] SlaveActingMaster Timer Message retry without
escape logic (#7578)
add 9cfe724e6a Add validation in broker/namesrv configure updating command
(#7584)
add 430ee0a755 Add validation in broker container configure updating
command. (#7587)
add a194e1eb9a Add set method for config black list. (#7586)
add 56e886bf70 [ISSUE #7592] testCleanBuffer unit test modifies, changed
non-direct … (#7593)
add 65faea22fd [ISSUE #7534] Use high performance concurrent set to
replace copyonwriteset (#7583)
add aec1055830 [ISSUE #7585] Support message filtering in rocketmq tiered
storage (#7594)
add c2c29c2435 [ISSUE #7545] Fix set mapped file to null cause file can
not destroy (#7612)
add faae64715d [ISSUE #7601] Fix slave acting master bug (#7603)
add bcc9db5cba [ISSUE #7614] Fix flaky test RocksDBMessageStoreTest
(#7625)
add d626d6087d Bump com.squareup.okio:okio-jvm from 3.0.0 to 3.4.0 (#7638)
add 1e69e3904f Fix flaky test testSemiSyncReplicaWhenAdaptiveDegradation
(#7631)
add 9a5690b91a Bump snakeyaml from 1.32 to 2.0 (#7632)
add f7a6d0b73a Bump grpc from 1.50.0 to 1.53.0 (#7633)
add a376fbcdb8 [ISSUE #7634] Introduce controllableOffset to prevent
unnecessary suspension when OFFSET_ILLEGAL (#7635)
add 50a92a2474 [ISSUE #7585] Always return duplicate buffer when filter
message and fix log format (#7654)
add 8e585d8767 [ISSUE #7543] Use "+" as the new separator for retry topic
(#7655)
add 71a7a659be [ISSUE #7543] only call a single type of retry topic in pop
(#7665)
add 23ee0eaaef [ISSUE #7646] Optimize pull onException logging (#7647)
add 7e1786732c [ISSUE #7626] Topic perm was mistakenly changed to 4 in
dledger mode (#7661)
add 086a726c5d [ISSUE #7659]Trim property
add 80c0330f75 ConfirmOffset directly takes the max offset when
allAckInSyncStateSet is false (#7657)
add 9dec4cf5fe [ISSUE #7669] map variable delayLevelTable changed to
ConcurrentSkipListMap from ConcurrentHashMap (#7675)
add 403ad6f66c [ISSUE #7679] Optimize the serialization of RemotingCommand
processTimer property (#7683)
add c10121697a [ISSUE #7676] use clientDecode for consuming message
directly (#7677)
add fbfc066695 Bump guava version from 31.1-jre to 32.0.1-jre (#7681)
add f0a3e933b9 [ISSUE #7684] Fix iterator.remove() bug (#7682)
add 2c898c9b31 [ISSUE #7689] In Controller mode, messages may lost due to
sharing the same cq offset (#7690)
add 4bb4d78f1d [ISSUE #7686] The bornTime is not set when using the
popMessage API in cluster mode. (#7687)
add 620e6a2544 [ISSUE #7642] Add return value for sendHeartbeat related
method
add 59e8f9b66e [ISSUE #7644] Optimize client rebalance
add 2c5bc1422b Fix ascii validate for ppv2 tls. (#7703)
add 9e4fd0e68a [ISSUE #7697] Fix can't open controller metricsExporter.
(#7705)
add 806454bc5e [ISSUE #7710] Handle blank string for UtilAll#split to fix
the bugs of ACL
add 6fce427e10 [ISSUE ##7719] Add more property check for dealy message
when auto-batch chack (#7720)
add 3f99b1e96b [ISSUE #7707] Refector Context with link node
implementation (#7708)
add 8a36471a19 [ISSUE #7543] Add enableRetryTopicV2 brokerConfig (#7734)
add d2b818d993 Revert "[ISSUE #7707] Refector Context with link node
implementation (#7708)" (#7742)
add b1d8d306a5 [ISSUE #7699] Add namespace v2 in client (#7700)
add 50974adaaa [ISSUE #7658] Fix bug of timer message metrics with
setDelayTimeMs
add 5e50badca1 [ISSUE #7747] Simplify code checks using Optional in
ClientRequestProcessor#getRouteInfoByTopic method (#7748)
add 89fdab4d58 [ISSUE #7752] Fix ppv2 tls ascii start with (byte)2 (#7753)
add 1242a5873d [ISSUE #7495] Support Higher Java version in Windows
(#7507)
add 7a36d4d736 [ISSUE #7757] Use `CompositeByteBuf` to prevent memory
copy. (#7694)
add 646e2a4942 [ISSUE #7355] fix dledger recover abnormally may lost
consume queue of tail (#7599)
add 920dc32d27 [ISSUE #7760] make timerSkipUnknownError can be set by
config file
add 6d7513425c [RIP-46] Enhanced metrics for timing and transactional
messages (#7500)
add 5262358140 [ISSUE #7699] Refector NamespaceRpcHook (#7769)
add 92e058c823 [ISSUE #7774] Make the handle of ppv2 tlv more extendable
(#7775)
add 04eec34978 Get namespace from header (#7782)
add 3d357bb3ed [ISSUE #7772] Ensuring broker protection capabilities when
POP does not return ACK (#7773)
add e104273fd0 [ISSUE #7785] Remove the redundant code
add a0cb9d42e3 [ISSUE #7777] Optimize the logic of
DefaultRequestProcessor#getTopicsByCluster to avoid unnecessary deserialization
(#7778)
add 178421386f [ISSUE #7786] Optimize the execution logic of tool.sh in
the JRE environment
add 8df53dfde8 [ISSUE #7300] jRaft-Controller Implemention (#7301)
add 7b64f50137 [ISSUE #7446] Add config of maxFilterMessageSize (#7447)
add f70862e57b [ISSUE #5613] Change the broker default value configuration
of 'useServerSideResetOffset' (#5613) (#7581)
add 06e22b4b42 [ISSUE #7765] Fix unit test testEstimateLag
add 84285d13a7 Update copyright year (#7797)
add af1936d93a [ISSUE #7715] Update Bazel toolchain to make the CI work
(#7714)
add 6616600fa5 [ISSUE #7791] Polish the code for jraft controller
add c833ff6e9a [ISSUE #7538] fix wrong cachedMsgSize if msg body is
changed in consumer callback
add cb7fa3e0b0 Revise the measurement method of GROUP_GET_LATENCY to
reveal its intended semantics (#7808)
add 702bbd2b83 [ISSUE #7803] Add try catch for lock and unlock (#7804)
add d9526e7ab2 [ISSUE #7812] Remove reachable flag in brokers' available
judgement.
add d38558800c [ISSUE #7740] Optimize LocalFileOffsetStore
add f525a34f61 [ISSUE #7813] setStartDetectorEnable Not effective
add 5e61354fdc [ISSUE #7793] Prepare to release apache rocketmq 5.2.0
add 3acc262ab4 [ISSUE #7822] fix NettyRemotingClient can't connect to IPv6
address. (#7823)
add b9688732b4 [maven-release-plugin] prepare release rocketmq-all-5.2.0
No new revisions were added by this update.
Summary of changes:
.bazelrc | 34 +-
.github/ISSUE_TEMPLATE/bug_report.yml | 1 -
.github/ISSUE_TEMPLATE/config.yml | 18 +
.github/ISSUE_TEMPLATE/doc.yml | 55 ++
.github/ISSUE_TEMPLATE/enhancement_request.yml | 18 +
.github/ISSUE_TEMPLATE/feature_request.yml | 18 +
.github/asf-deploy-settings.xml | 5 +
.github/workflows/bazel.yml | 2 +-
.github/workflows/snapshot-automation.yml | 238 +++++++-
NOTICE | 2 +-
README.md | 8 +-
WORKSPACE | 52 +-
acl/pom.xml | 15 +-
.../rocketmq/acl/plain/PlainAccessResource.java | 24 +-
.../rocketmq/acl/plain/PlainPermissionManager.java | 2 +-
.../rocketmq/acl/RemotingClientAccessTest.java | 189 ++++++
.../{conf => access_acl_conf}/acl/plain_acl.yml | 29 +-
acl/src/test/resources/conf/acl/plain_acl.yml | 1 -
bazel/GenTestRules.bzl | 2 +
broker/BUILD.bazel | 4 +
broker/pom.xml | 2 +-
.../apache/rocketmq/broker/BrokerController.java | 238 +++++---
.../rocketmq/broker/BrokerPathConfigHelper.java | 3 +
.../broker/client/ClientHousekeepingService.java | 9 +-
.../rocketmq/broker/client/ConsumerGroupInfo.java | 17 +-
.../client/DefaultConsumerIdsChangeListener.java | 3 +-
.../rocketmq/broker/client/ProducerManager.java | 5 +-
.../broker/controller/ReplicasManager.java | 42 +-
.../broker/dledger/DLedgerRoleChangeHandler.java | 4 +-
.../rocketmq/broker/failover/EscapeBridge.java | 4 +-
.../filter/ExpressionForRetryMessageFilter.java | 9 +-
.../rocketmq/broker/latency/BrokerFastFailure.java | 5 +-
.../latency/BrokerFixedThreadPoolExecutor.java | 57 --
.../longpolling/NotifyMessageArrivingListener.java | 3 +-
.../broker/longpolling/PopLongPollingService.java | 10 +
.../broker/metrics/BrokerMetricsConstant.java | 5 +
.../broker/metrics/BrokerMetricsManager.java | 129 ++++-
.../broker/metrics/ConsumerLagCalculator.java | 24 +-
.../rocketmq/broker/metrics/PopMetricsManager.java | 11 +-
.../broker/offset/ConsumerOffsetManager.java | 20 +-
.../broker/offset/ConsumerOrderInfoManager.java | 4 +-
.../offset/RocksDBConsumerOffsetManager.java | 102 ++++
.../offset/RocksDBLmqConsumerOffsetManager.java | 103 ++++
.../offset/RocksDBOffsetSerializeWrapper.java | 19 +-
.../apache/rocketmq/broker/out/BrokerOuterAPI.java | 226 ++++++--
.../broker/plugin/PullMessageResultHandler.java | 3 +-
.../broker/processor/AckMessageProcessor.java | 104 ++--
.../broker/processor/AdminBrokerProcessor.java | 175 +++---
.../processor/ChangeInvisibleTimeProcessor.java | 4 +-
.../broker/processor/ConsumerManageProcessor.java | 4 +-
.../processor/DefaultPullMessageResultHandler.java | 5 +-
.../broker/processor/EndTransactionProcessor.java | 18 +
.../broker/processor/NotificationProcessor.java | 70 ++-
.../broker/processor/PeekMessageProcessor.java | 17 +-
.../broker/processor/PopBufferMergeService.java | 21 +-
.../broker/processor/PopMessageProcessor.java | 172 ++++--
.../broker/processor/PopReviveService.java | 42 +-
.../broker/processor/PullMessageProcessor.java | 9 +-
.../broker/processor/ReplyMessageProcessor.java | 2 +-
.../broker/processor/SendMessageProcessor.java | 38 +-
.../broker/schedule/ScheduleMessageService.java | 30 +-
.../rocketmq/broker/slave/SlaveSynchronize.java | 6 +-
.../RocksDBLmqSubscriptionGroupManager.java | 46 ++
.../RocksDBSubscriptionGroupManager.java | 112 ++++
.../subscription/SubscriptionGroupManager.java | 59 +-
.../broker/topic/RocksDBLmqTopicConfigManager.java | 57 ++
.../broker/topic/RocksDBTopicConfigManager.java | 95 +++
.../rocketmq/broker/topic/TopicConfigManager.java | 145 +++--
.../topic/TopicQueueMappingCleanService.java | 4 +-
.../broker/topic/TopicRouteInfoManager.java | 4 +-
.../AbstractTransactionalMessageCheckListener.java | 6 +-
.../broker/transaction/TransactionMetrics.java | 117 ++--
.../TransactionMetricsFlushService.java | 55 ++
.../transaction/TransactionalMessageService.java | 5 +
.../DefaultTransactionalMessageCheckListener.java | 2 +
.../queue/TransactionalMessageServiceImpl.java | 23 +-
broker/src/main/resources/rmq.broker.logback.xml | 59 +-
.../rocketmq/broker/BrokerControllerTest.java | 2 +-
.../broker/client/ProducerManagerTest.java | 34 ++
.../broker/latency/BrokerFastFailureTest.java | 1 +
.../offset/RocksDBConsumerOffsetManagerTest.java | 113 ++++
.../broker/processor/AdminBrokerProcessorTest.java | 200 ++++---
.../processor/EndTransactionProcessorTest.java | 5 +
.../broker/processor/PopMessageProcessorTest.java | 2 +-
.../broker/processor/PopReviveServiceTest.java | 4 +-
.../ForbiddenTest.java | 3 +-
.../subscription/SubscriptionGroupManagerTest.java | 25 +
.../topic/RocksdbTopicConfigManagerTest.java | 375 ++++++++++++
.../transaction/queue/TransactionMetricsTest.java | 83 +++
.../util/TransactionalMessageServiceImpl.java | 11 +
client/BUILD.bazel | 1 +
client/pom.xml | 2 +-
.../org/apache/rocketmq/client/ClientConfig.java | 128 +++-
.../rocketmq/client/common/ThreadLocalIndex.java | 5 +
.../client/consumer/DefaultLitePullConsumer.java | 11 +-
.../client/consumer/DefaultMQPullConsumer.java | 14 +-
.../client/consumer/DefaultMQPushConsumer.java | 113 ++--
.../rocketmq/client/consumer/MQConsumer.java | 8 +-
.../client/consumer/MessageQueueListener.java | 5 +-
.../client/consumer/store/ControllableOffset.java | 115 ++++
.../consumer/store/LocalFileOffsetStore.java | 78 ++-
.../client/consumer/store/OffsetStore.java | 8 +
.../consumer/store/RemoteBrokerOffsetStore.java | 49 +-
.../client/hook/ConsumeMessageContext.java | 11 +
.../client/impl/ClientRemotingProcessor.java | 2 +-
.../apache/rocketmq/client/impl/MQAdminImpl.java | 80 +--
.../rocketmq/client/impl/MQClientAPIImpl.java | 408 +++++++------
.../rocketmq/client/impl/MQClientManager.java | 21 +-
.../ConsumeMessageConcurrentlyService.java | 1 +
.../consumer/ConsumeMessageOrderlyService.java | 5 +-
.../ConsumeMessagePopConcurrentlyService.java | 1 +
.../impl/consumer/DefaultLitePullConsumerImpl.java | 9 +
.../impl/consumer/DefaultMQPullConsumerImpl.java | 9 +
.../impl/consumer/DefaultMQPushConsumerImpl.java | 50 +-
.../client/impl/consumer/MQConsumerInner.java | 2 +
.../client/impl/consumer/PopProcessQueue.java | 2 +-
.../client/impl/consumer/ProcessQueue.java | 25 +-
.../client/impl/consumer/PullAPIWrapper.java | 4 +-
.../client/impl/consumer/PullMessageService.java | 8 +
.../client/impl/consumer/RebalanceImpl.java | 10 +-
.../client/impl/consumer/RebalancePushImpl.java | 80 +--
.../client/impl/consumer/RebalanceService.java | 17 +-
.../client/impl/factory/MQClientInstance.java | 243 +++++---
.../client/impl/mqclient/MQClientAPIExt.java | 346 ++++++-----
.../client/impl/mqclient/MQClientAPIFactory.java | 1 +
.../impl/producer/DefaultMQProducerImpl.java | 220 +++++--
.../client/impl/producer/TopicPublishInfo.java | 42 +-
.../client/latency/LatencyFaultTolerance.java | 80 ++-
.../client/latency/LatencyFaultToleranceImpl.java | 200 +++++--
.../rocketmq/client/latency/MQFaultStrategy.java | 149 +++--
.../apache/rocketmq/client/latency/Resolver.java | 7 +-
.../ServiceDetector.java} | 17 +-
.../client/producer/DefaultMQProducer.java | 627 +++++++++++++-------
.../rocketmq/client/producer/MQProducer.java | 27 +-
.../client/producer/ProduceAccumulator.java | 510 ++++++++++++++++
.../client/producer/TransactionMQProducer.java | 39 +-
.../rocketmq/client/rpchook/NamespaceRpcHook.java | 46 ++
.../apache/rocketmq/client/trace/TraceContext.java | 10 +
.../rocketmq/client/trace/TraceDataEncoder.java | 9 +-
.../trace/hook/ConsumeMessageTraceHookImpl.java | 1 +
.../client/common/ThreadLocalIndexTest.java | 7 +
.../consumer/store/LocalFileOffsetStoreTest.java | 47 +-
.../store/RemoteBrokerOffsetStoreTest.java | 32 +
.../rocketmq/client/impl/MQClientAPIImplTest.java | 47 +-
.../latency/LatencyFaultToleranceImplTest.java | 36 +-
.../client/producer/DefaultMQProducerTest.java | 38 +-
.../client/producer/ProduceAccumulatorTest.java | 176 ++++++
.../client/rpchook/NamespaceRpcHookTest.java | 56 ++
.../trace/DefaultMQConsumerWithTraceTest.java | 2 +-
.../trace/DefaultMQProducerWithTraceTest.java | 2 +-
.../client/trace/TraceDataEncoderTest.java | 2 +
.../trace/TransactionMQProducerWithTraceTest.java | 2 +-
common/BUILD.bazel | 2 +
common/pom.xml | 10 +-
.../org/apache/rocketmq/common/BrokerConfig.java | 144 ++++-
.../org/apache/rocketmq/common/ConfigManager.java | 31 +-
.../apache/rocketmq/common/ControllerConfig.java | 64 +-
.../org/apache/rocketmq/common/JraftConfig.java | 88 +++
.../org/apache/rocketmq/common/KeyBuilder.java | 49 +-
.../java/org/apache/rocketmq/common/MQVersion.java | 2 +-
.../java/org/apache/rocketmq/common/MixAll.java | 8 +-
.../main/java/org/apache/rocketmq/common/Pair.java | 4 +-
.../java/org/apache/rocketmq/common/UtilAll.java | 82 +--
.../apache/rocketmq/common/attribute/CQType.java | 3 +-
.../common/attribute/TopicMessageType.java | 5 +-
.../common/config/AbstractRocksDBStorage.java | 507 ++++++++++++++++
.../common/config/ConfigRocksDBStorage.java | 256 ++++++++
.../common/config/RocksDBConfigManager.java | 117 ++++
.../rocketmq/common/constant/HAProxyConstants.java | 27 +-
.../rocketmq/common/constant/LoggerName.java | 2 +
.../apache/rocketmq/common/constant/PermName.java | 2 +-
.../rocketmq/common/consumer/ReceiptHandle.java | 11 +-
.../apache/rocketmq/common/message/Message.java | 24 +-
.../rocketmq/common/message/MessageAccessor.java | 7 +
.../rocketmq/common/message/MessageBatch.java | 2 +-
.../rocketmq/common/message/MessageConst.java | 2 +
.../rocketmq/common/message/MessageDecoder.java | 32 +-
.../common/message/MessageExtBrokerInner.java | 32 +
.../NopObservableDoubleGauge.java} | 7 +-
.../rocketmq/common/namesrv/NamesrvConfig.java | 31 +
.../CQType.java => state/StateEventListener.java} | 7 +-
.../thread/FutureTaskExtThreadPoolExecutor.java | 3 +-
.../rocketmq/common/thread/ThreadPoolMonitor.java | 6 +-
.../rocketmq/common/topic/TopicValidator.java | 2 +
.../apache/rocketmq/common/utils/BinaryUtil.java | 17 +
.../common/utils/ConcurrentHashMapUtils.java | 16 +-
.../rocketmq/common/utils/DataConverter.java | 2 +-
.../apache/rocketmq/common/utils/MessageUtils.java | 48 ++
.../apache/rocketmq/common/utils/ThreadUtils.java | 74 ++-
.../org/apache/rocketmq/common/KeyBuilderTest.java | 63 ++
.../rocketmq/common/MessageExtBrokerInnerTest.java | 93 +++
.../org/apache/rocketmq/common/MixAllTest.java | 6 -
.../apache/rocketmq/common/NetworkUtilTest.java | 2 -
.../org/apache/rocketmq/common/UtilAllTest.java | 37 +-
.../common/utils/ConcurrentHashMapUtilsTest.java | 1 -
container/pom.xml | 2 +-
.../apache/rocketmq/container/BrokerContainer.java | 8 +-
.../rocketmq/container/BrokerContainerConfig.java | 29 +
.../container/BrokerContainerProcessor.java | 49 +-
.../ContainerClientHouseKeepingService.java | 11 +-
controller/BUILD.bazel | 6 +-
controller/pom.xml | 10 +-
.../controller/BrokerHeartbeatManager.java | 18 +-
.../controller/BrokerHousekeepingService.java | 5 +
.../rocketmq/controller/ControllerManager.java | 106 ++--
.../rocketmq/controller/ControllerStartup.java | 12 +-
.../rocketmq/controller/elect/ElectPolicy.java | 4 +-
.../controller/elect/impl/DefaultElectPolicy.java | 10 +-
.../controller/impl/DLedgerController.java | 14 +-
.../impl/DLedgerControllerStateMachine.java | 3 +-
.../rocketmq/controller/impl/JRaftController.java | 279 +++++++++
.../impl/JRaftControllerStateMachine.java | 331 +++++++++++
.../controller/impl/closure/ControllerClosure.java | 83 +++
.../controller/impl/event/ApplyBrokerIdEvent.java | 15 +-
.../impl/event/CleanBrokerDataEvent.java | 6 +-
.../controller/impl/event/ElectMasterEvent.java | 8 +-
.../controller/impl/event/ListEventSerializer.java | 128 ++++
.../impl/event/UpdateBrokerAddressEvent.java | 10 +-
.../impl/heartbeat/BrokerIdentityInfo.java | 17 +-
.../controller/impl/heartbeat/BrokerLiveInfo.java | 7 +-
.../heartbeat/DefaultBrokerHeartbeatManager.java | 5 +-
.../impl/heartbeat/RaftBrokerHeartBeatManager.java | 278 +++++++++
.../controller/impl/manager/BrokerReplicaInfo.java | 19 +-
.../impl/manager/RaftReplicasInfoManager.java | 236 ++++++++
.../impl/manager/ReplicasInfoManager.java | 164 +++++-
.../controller/impl/manager/SyncStateInfo.java | 3 +-
.../impl/task/BrokerCloseChannelRequest.java | 69 +++
.../impl/task/BrokerCloseChannelResponse.java | 17 +-
.../impl/task/CheckNotActiveBrokerRequest.java | 31 +-
.../impl/task/CheckNotActiveBrokerResponse.java | 17 +-
.../impl/task/GetBrokerLiveInfoRequest.java | 66 +++
.../impl/task/GetBrokerLiveInfoResponse.java | 17 +-
.../impl/task/GetSyncStateDataRequest.java | 25 +-
.../impl/task/RaftBrokerHeartBeatEventRequest.java | 100 ++++
.../task/RaftBrokerHeartBeatEventResponse.java | 17 +-
.../metrics/ControllerMetricsConstant.java | 2 +-
.../metrics/ControllerMetricsManager.java | 40 +-
.../processor/ControllerRequestProcessor.java | 35 +-
.../src/main/resources/rmq.controller.logback.xml | 58 +-
.../rocketmq/controller/ControllerManagerTest.java | 32 +-
.../controller/ControllerRequestProcessorTest.java | 28 +-
.../controller/impl/DLedgerControllerTest.java | 50 +-
.../impl/DefaultBrokerHeartbeatManagerTest.java | 9 +-
.../impl/manager/ReplicasInfoManagerTest.java | 85 ++-
distribution/bin/mqbroker | 4 +-
distribution/bin/runbroker.cmd | 38 +-
distribution/bin/runbroker.sh | 1 -
distribution/bin/runserver.cmd | 32 +-
distribution/bin/runserver.sh | 2 +-
distribution/bin/tools.sh | 8 +-
distribution/pom.xml | 6 +-
docs/cn/Debug_In_Idea.md | 55 ++
docs/cn/concept.md | 2 +-
docs/cn/controller/design.md | 2 +-
docs/cn/image/Idea_config_broker.png | Bin 0 -> 215173 bytes
docs/cn/image/Idea_config_nameserver.png | Bin 0 -> 204631 bytes
docs/cn/msg_trace/user_guide.md | 2 +-
docs/cn/operation.md | 4 +-
docs/en/Debug_In_Idea.md | 55 ++
example/pom.xml | 2 +-
.../example/benchmark/TransactionProducer.java | 1 -
.../example/namespace/ProducerWithNamespace.java | 3 +-
.../namespace/PullConsumerWithNamespace.java | 3 +-
.../namespace/PushConsumerWithNamespace.java | 3 +-
.../rocketmq/example/quickstart/Consumer.java | 2 +-
.../rocketmq/example/quickstart/Producer.java | 4 +-
.../rocketmq/example/simple/PullConsumer.java | 2 +-
.../example/tracemessage/TraceProducer.java | 2 +-
.../example/tracemessage/TracePushConsumer.java | 2 +-
.../example/transaction/TransactionProducer.java | 3 +-
filter/pom.xml | 2 +-
namesrv/pom.xml | 2 +-
.../apache/rocketmq/namesrv/NamesrvController.java | 22 +-
.../apache/rocketmq/namesrv/NamesrvStartup.java | 4 +
.../namesrv/processor/ClientRequestProcessor.java | 5 +-
.../namesrv/processor/DefaultRequestProcessor.java | 71 ++-
.../routeinfo/BrokerHousekeepingService.java | 5 +
.../namesrv/routeinfo/RouteInfoManager.java | 70 ++-
.../namesrv/processor/RequestProcessorTest.java | 15 +-
.../namesrv/routeinfo/RouteInfoManagerNewTest.java | 100 +++-
openmessaging/pom.xml | 2 +-
pom.xml | 59 +-
proxy/BUILD.bazel | 5 +
proxy/pom.xml | 6 +-
.../org/apache/rocketmq/proxy/ProxyStartup.java | 18 +-
.../rocketmq/proxy/common/ContextVariable.java | 2 +-
.../proxy/common/MessageReceiptHandle.java | 8 +-
.../apache/rocketmq/proxy/common/ProxyContext.java | 9 +
.../rocketmq/proxy/common/ReceiptHandleGroup.java | 107 +++-
.../proxy/common/ReceiptHandleGroupKey.java | 55 +-
.../apache/rocketmq/proxy/common/RenewEvent.java | 64 ++
.../apache/rocketmq/proxy/config/ProxyConfig.java | 134 ++++-
.../org/apache/rocketmq/proxy/grpc/GrpcServer.java | 10 +-
.../rocketmq/proxy/grpc/GrpcServerBuilder.java | 24 +-
.../proxy/grpc/OptionalSSLProtocolNegotiator.java | 145 -----
.../proxy/grpc/ProxyAndTlsProtocolNegotiator.java | 265 +++++++++
.../proxy/grpc/constant/AttributeKeys.java | 44 ++
.../proxy/grpc/interceptor/HeaderInterceptor.java | 32 +-
.../proxy/grpc/v2/ContextStreamObserver.java | 14 +-
.../proxy/grpc/v2/DefaultGrpcMessingActivity.java | 17 +-
.../proxy/grpc/v2/GrpcMessagingApplication.java | 9 +-
.../proxy/grpc/v2/GrpcMessingActivity.java | 2 +-
.../proxy/grpc/v2/channel/GrpcChannelManager.java | 6 +-
.../proxy/grpc/v2/client/ClientActivity.java | 32 +-
.../grpc/v2/common/GrpcClientSettingsManager.java | 30 +-
.../proxy/grpc/v2/common/GrpcConverter.java | 4 -
.../proxy/grpc/v2/common/GrpcValidator.java | 4 +-
.../proxy/grpc/v2/common/ResponseBuilder.java | 2 +-
.../proxy/grpc/v2/consumer/AckMessageActivity.java | 143 +++--
.../consumer/ChangeInvisibleDurationActivity.java | 11 +-
.../grpc/v2/consumer/ReceiveMessageActivity.java | 12 +-
.../ReceiveMessageResponseStreamWriter.java | 4 +-
.../v2/producer/ForwardMessageToDLQActivity.java | 14 +-
.../grpc/v2/producer/SendMessageActivity.java | 9 +-
.../proxy/grpc/v2/route/RouteActivity.java | 29 +-
.../v2/transaction/EndTransactionActivity.java | 3 +-
.../proxy/metrics/ProxyMetricsManager.java | 11 +-
.../proxy/processor/AbstractProcessor.java | 4 +-
.../rocketmq/proxy/processor/BatchAckResult.java | 53 ++
.../rocketmq/proxy/processor/ClientProcessor.java | 2 +-
.../proxy/processor/ConsumerProcessor.java | 172 ++++--
.../proxy/processor/DefaultMessagingProcessor.java | 44 +-
.../proxy/processor/MessagingProcessor.java | 26 +-
.../proxy/processor/ProducerProcessor.java | 18 +-
.../proxy/processor/ReceiptHandleProcessor.java | 345 +----------
.../DefaultTopicMessageTypeValidator.java | 7 +-
.../validator/TopicMessageTypeValidator.java | 6 +-
.../proxy/remoting/ClientHousekeepingService.java | 4 +
.../remoting/MultiProtocolRemotingServer.java | 9 +-
.../proxy/remoting/RemotingProtocolServer.java | 41 +-
.../activity/AbstractRemotingActivity.java | 16 +-
.../remoting/activity/ClientManagerActivity.java | 36 +-
.../remoting/activity/ConsumerManagerActivity.java | 4 +-
.../remoting/activity/PullMessageActivity.java | 2 +-
.../proxy/remoting/channel/RemotingChannel.java | 23 +-
.../remoting/channel/RemotingChannelManager.java | 9 +-
.../http2proxy/HAProxyMessageForwarder.java | 136 +++++
.../http2proxy/Http2ProtocolProxyHandler.java | 27 +-
.../http2proxy/Http2ProxyBackendHandler.java | 2 +
.../http2proxy/Http2ProxyFrontendHandler.java | 28 +-
.../proxy/service/ClusterServiceManager.java | 12 +-
.../proxy/service/LocalServiceManager.java | 4 +-
.../service/message/ClusterMessageService.java | 16 +-
.../proxy/service/message/LocalMessageService.java | 76 ++-
.../service/message/LocalRemotingCommand.java | 9 +-
.../proxy/service/message/MessageService.java | 8 +
.../service/message/ReceiptHandleMessage.java | 26 +-
.../service/metadata/ClusterMetadataService.java | 6 +-
.../receipt/DefaultReceiptHandleManager.java} | 225 +++-----
.../service/receipt/ReceiptHandleManager.java | 15 +-
.../service/route/LocalTopicRouteService.java | 2 +-
.../proxy/service/route/MessageQueueSelector.java | 95 ++-
.../proxy/service/route/MessageQueueView.java | 9 +-
.../proxy/service/route/TopicRouteService.java | 163 ++++--
.../sysmessage/AbstractSystemMessageSyncer.java | 2 +-
.../proxy/service/sysmessage/HeartbeatSyncer.java | 31 +-
proxy/src/main/resources/rmq.proxy.logback.xml | 5 +
.../proxy/common/ReceiptHandleGroupTest.java | 73 ++-
.../proxy/common/utils/FilterUtilTest.java | 25 +
.../grpc/ProxyAndTlsProtocolNegotiatorTest.java | 49 ++
.../proxy/grpc/v2/client/ClientActivityTest.java | 16 +-
.../v2/common/GrpcClientSettingsManagerTest.java | 8 +-
.../grpc/v2/consumer/AckMessageActivityTest.java | 223 ++++++-
.../ChangeInvisibleDurationActivityTest.java | 4 +-
.../v2/consumer/ReceiveMessageActivityTest.java | 12 +-
.../producer/ForwardMessageToDLQActivityTest.java | 4 +-
.../grpc/v2/producer/SendMessageActivityTest.java | 82 ++-
.../proxy/processor/BaseProcessorTest.java | 18 +-
.../proxy/processor/ConsumerProcessorTest.java | 122 +++-
.../proxy/processor/ProducerProcessorTest.java | 3 +-
.../activity/AbstractRemotingActivityTest.java | 10 +-
.../remoting/activity/PullMessageActivityTest.java | 10 +-
.../remoting/activity/SendMessageActivityTest.java | 2 +-
.../channel/RemotingChannelManagerTest.java | 30 +-
.../http2proxy/HAProxyMessageForwarderTest.java | 47 ++
.../http2proxy/Http2ProtocolProxyHandlerTest.java | 61 ++
.../rocketmq/proxy/service/BaseServiceTest.java | 4 +-
.../service/message/LocalMessageServiceTest.java | 4 +-
.../proxy/service/mqclient/MQClientAPIExtTest.java | 109 ++--
.../receipt/DefaultReceiptHandleManagerTest.java} | 413 ++++---------
.../service/route/MessageQueueSelectorTest.java | 8 +-
.../service/sysmessage/HeartbeatSyncerTest.java | 70 ++-
.../transaction/ClusterTransactionServiceTest.java | 8 +-
remoting/BUILD.bazel | 2 +
remoting/pom.xml | 2 +-
.../rocketmq/remoting/ChannelEventListener.java | 2 +
.../apache/rocketmq/remoting/InvokeCallback.java | 15 +
.../apache/rocketmq/remoting/RemotingClient.java | 27 +-
.../rocketmq/remoting/common/RemotingHelper.java | 49 +-
.../remoting/metrics/RemotingMetricsConstant.java | 1 -
.../remoting/metrics/RemotingMetricsManager.java | 10 +-
.../rocketmq/remoting/netty/AttributeKeys.java | 54 ++
.../rocketmq/remoting/netty/FileRegionEncoder.java | 20 +-
.../rocketmq/remoting/netty/NettyClientConfig.java | 30 +
.../rocketmq/remoting/netty/NettyEventType.java | 3 +-
.../remoting/netty/NettyRemotingAbstract.java | 142 +++--
.../remoting/netty/NettyRemotingClient.java | 258 +++++++--
.../remoting/netty/NettyRemotingServer.java | 139 ++++-
.../rocketmq/remoting/netty/NettyServerConfig.java | 19 +
.../rocketmq/remoting/netty/ResponseFuture.java | 15 +
.../rocketmq/remoting/protocol/LanguageCode.java | 11 +
.../remoting/protocol/RemotingCommand.java | 20 +-
.../rocketmq/remoting/protocol/RequestCode.java | 13 +-
.../rocketmq/remoting/protocol/ResponseCode.java | 6 +
.../protocol/body/LockBatchRequestBody.java | 11 +
.../rocketmq/remoting/protocol/body/TopicList.java | 4 +-
.../protocol/body/UnlockBatchRequestBody.java | 11 +
.../remoting/protocol/filter/FilterAPI.java | 8 +
.../header/CloneGroupOffsetRequestHeader.java | 4 +-
.../ConsumeMessageDirectlyResultRequestHeader.java | 4 +-
.../protocol/header/CreateTopicRequestHeader.java | 4 +-
.../DeleteSubscriptionGroupRequestHeader.java | 4 +-
.../protocol/header/DeleteTopicRequestHeader.java | 4 +-
.../remoting/protocol/header/ExtraInfoUtil.java | 70 ++-
.../GetBrokerClusterAclConfigResponseBody.java | 45 --
.../GetBrokerClusterAclConfigResponseHeader.java | 42 --
.../header/GetConsumeStatsRequestHeader.java | 4 +-
.../GetConsumerConnectionListRequestHeader.java | 4 +-
.../GetConsumerListByGroupRequestHeader.java | 4 +-
.../GetConsumerRunningInfoRequestHeader.java | 4 +-
.../header/GetConsumerStatusRequestHeader.java | 4 +-
.../GetProducerConnectionListRequestHeader.java | 4 +-
.../GetSubscriptionGroupConfigRequestHeader.java | 4 +-
...uestHeader.java => HeartbeatRequestHeader.java} | 16 +-
.../header/InitConsumerOffsetRequestHeader.java | 4 +-
.../protocol/header/LockBatchMqRequestHeader.java | 14 +-
.../protocol/header/NotificationRequestHeader.java | 14 +
.../NotifyConsumerIdsChangedRequestHeader.java | 4 +-
.../header/QueryConsumeQueueRequestHeader.java | 8 +-
.../header/QueryConsumeTimeSpanRequestHeader.java | 4 +-
.../header/QueryConsumerOffsetRequestHeader.java | 11 +
.../header/QueryCorrectionOffsetHeader.java | 4 +-
.../protocol/header/QueryMessageRequestHeader.java | 4 +-
.../QuerySubscriptionByConsumerRequestHeader.java | 4 +-
.../QueryTopicConsumeByWhoRequestHeader.java | 4 +-
.../header/QueryTopicsByConsumerRequestHeader.java | 4 +-
.../protocol/header/ReplyMessageRequestHeader.java | 4 +-
.../protocol/header/ResetOffsetRequestHeader.java | 8 +-
.../protocol/header/SearchOffsetRequestHeader.java | 13 +
.../header/SendMessageRequestHeaderV2.java | 39 +-
.../header/StatisticsMessagesRequestHeader.java | 8 +-
.../header/UnlockBatchMqRequestHeader.java | 14 +-
.../header/UnregisterClientRequestHeader.java | 4 +-
.../header/UpdateGroupForbiddenRequestHeader.java | 4 +-
.../controller/AlterSyncStateSetRequestHeader.java | 9 +
.../controller/ElectMasterRequestHeader.java | 16 +-
.../CleanControllerBrokerDataRequestHeader.java | 9 +
.../RegisterBrokerToControllerRequestHeader.java | 11 +
.../DeleteTopicFromNamesrvRequestHeader.java | 4 +-
.../header/namesrv/GetRouteInfoRequestHeader.java | 4 +-
.../header/namesrv/RegisterTopicRequestHeader.java | 4 +-
.../statictopic/TopicConfigAndQueueMapping.java | 10 +
.../rocketmq/remoting/rpc/RequestBuilder.java | 8 +-
.../rocketmq/remoting/rpc/RpcClientImpl.java | 31 +-
.../rocketmq/remoting/rpc/RpcRequestHeader.java | 63 +-
.../rocketmq/remoting/ProxyProtocolTest.java | 116 ++++
.../rocketmq/remoting/RemotingServerTest.java | 22 +-
.../java/org/apache/rocketmq/remoting/TlsTest.java | 42 +-
.../remoting/netty/FileRegionEncoderTest.java | 5 +-
.../rocketmq/remoting/netty/MockChannel.java} | 14 +-
.../remoting/netty/MockChannelPromise.java | 191 ++++++
.../remoting/netty/NettyRemotingAbstractTest.java | 54 +-
.../remoting/netty/NettyRemotingClientTest.java | 243 +++++++-
.../remoting/netty/NettyRemotingServerTest.java | 63 ++
.../protocol/header/ExtraInfoUtilTest.java | 4 +-
.../protocol/header/FastCodesHeaderTest.java | 2 +-
.../header/SendMessageRequestHeaderV2Test.java | 51 ++
.../remoting/rpc/RpcRequestHeaderTest.java | 64 ++
srvutil/pom.xml | 2 +-
.../org/apache/rocketmq/srvutil/ServerUtil.java | 1 +
store/BUILD.bazel | 8 +-
store/pom.xml | 6 +-
.../rocketmq/store/AllocateMappedFileService.java | 6 +-
.../java/org/apache/rocketmq/store/CommitLog.java | 310 ++++++++--
.../apache/rocketmq/store/CommitLogDispatcher.java | 5 +-
.../org/apache/rocketmq/store/ConsumeQueue.java | 137 +----
.../apache/rocketmq/store/DefaultMessageStore.java | 325 ++++++-----
.../org/apache/rocketmq/store/MappedFileQueue.java | 49 +-
.../apache/rocketmq/store/MessageExtEncoder.java | 140 ++++-
.../org/apache/rocketmq/store/MessageStore.java | 70 ++-
.../org/apache/rocketmq/store/MultiDispatch.java | 77 +++
.../rocketmq/store/MultiPathMappedFileQueue.java | 4 +-
.../apache/rocketmq/store/RocksDBMessageStore.java | 181 ++++++
.../org/apache/rocketmq/store/RunningFlags.java | 22 +-
.../{CommitLogDispatcher.java => StoreType.java} | 22 +-
.../org/apache/rocketmq/store/TopicQueueLock.java | 8 +
.../apache/rocketmq/store/TransientStorePool.java | 13 +-
.../rocketmq/store/config/MessageStoreConfig.java | 115 +++-
.../rocketmq/store/dledger/DLedgerCommitLog.java | 195 ++++++-
.../org/apache/rocketmq/store/ha/HAService.java | 3 +-
.../store/ha/autoswitch/AutoSwitchHAClient.java | 2 +-
.../store/ha/autoswitch/AutoSwitchHAService.java | 64 +-
.../apache/rocketmq/store/kv/CompactionStore.java | 21 +-
.../apache/rocketmq/store/kv/MessageFetcher.java | 3 +-
.../store/metrics/DefaultStoreMetricsConstant.java | 12 +
.../store/metrics/DefaultStoreMetricsManager.java | 67 ++-
.../store/metrics/RocksDBStoreMetricsManager.java | 154 +++++
.../store/plugin/AbstractPluginMessageStore.java | 46 +-
.../store/queue/AbstractConsumeQueueStore.java | 115 ++++
.../rocketmq/store/queue/BatchConsumeQueue.java | 57 +-
.../store/queue/ConsumeQueueInterface.java | 38 +-
.../rocketmq/store/queue/ConsumeQueueStore.java | 373 ++++++------
.../store/queue/ConsumeQueueStoreInterface.java | 303 ++++++++++
.../rocketmq/store/queue/MultiDispatchUtils.java | 61 ++
.../rocketmq/store/queue/QueueOffsetOperator.java | 14 +-
.../rocketmq/store/queue/RocksDBConsumeQueue.java | 395 +++++++++++++
.../queue/RocksDBConsumeQueueOffsetTable.java | 641 +++++++++++++++++++++
.../store/queue/RocksDBConsumeQueueStore.java | 445 ++++++++++++++
.../store/queue/RocksDBConsumeQueueTable.java | 312 ++++++++++
.../rocketmq/store/queue/SparseConsumeQueue.java | 3 +-
.../ConsumeQueueCompactionFilterFactory.java | 47 ++
.../store/rocksdb/ConsumeQueueRocksDBStorage.java | 133 +++++
.../store/rocksdb/RocksDBOptionsFactory.java | 161 ++++++
.../rocketmq/store/stats/BrokerStatsManager.java | 14 +-
.../java/org/apache/rocketmq/store/timer/Slot.java | 10 +-
.../rocketmq/store/timer/TimerMessageStore.java | 116 ++--
.../apache/rocketmq/store/timer/TimerMetrics.java | 5 +-
.../apache/rocketmq/store/timer/TimerRequest.java | 7 +-
.../apache/rocketmq/store/AppendCallbackTest.java | 6 +-
.../apache/rocketmq/store/AppendPropCRCTest.java | 201 +++++++
.../apache/rocketmq/store/BatchPutMessageTest.java | 2 +-
.../rocketmq/store/DefaultMessageStoreTest.java | 5 +-
.../java/org/apache/rocketmq/store/HATest.java | 15 +-
.../apache/rocketmq/store/MappedFileQueueTest.java | 15 +
.../rocketmq/store/MessageExtBrokerInnerTest.java | 105 ++++
.../apache/rocketmq/store/MultiDispatchTest.java | 16 +-
...StoreTest.java => RocksDBMessageStoreTest.java} | 361 ++++++++----
.../org/apache/rocketmq/store/StoreTestUtil.java | 9 +-
.../store/dledger/DLedgerCommitlogTest.java | 40 ++
.../org/apache/rocketmq/store/ha/HAServerTest.java | 16 +-
.../store/ha/autoswitch/AutoSwitchHATest.java | 5 +-
.../rocketmq/store/kv/CompactionLogTest.java | 2 +-
.../store/timer/TimerMessageStoreTest.java | 6 +-
.../rocketmq/store/timer/TimerMetricsTest.java | 10 +-
style/spotbugs-suppressions.xml | 2 +-
test/BUILD.bazel | 8 +-
test/pom.xml | 2 +-
.../rocketmq/test/client/rmq/RMQPopClient.java | 22 +
.../rocketmq/test/util/MQAdminTestUtils.java | 37 ++
.../org/apache/rocketmq/test/util/StatUtil.java | 1 -
.../balance/NormalMsgDynamicBalanceIT.java | 17 +
.../test/client/consumer/pop/BasePopNormally.java | 6 +
.../test/client/consumer/pop/BatchAckIT.java | 159 +++++
.../consumer/pop/PopMessageAndForwardingIT.java | 102 ++++
.../test/container/PopSlaveActingMasterIT.java | 12 +-
.../dledger/DLedgerProduceAndConsumeIT.java | 2 +-
.../rocketmq/test/offset/LagCalculationIT.java | 9 +-
.../test/route/CreateAndUpdateTopicIT.java | 145 +++++
.../api/client.producer.DefaultMQProducer.schema | 1 -
tieredstore/BUILD.bazel | 4 +
tieredstore/pom.xml | 16 +-
.../rocketmq/tieredstore/MessageStoreFetcher.java | 80 +++
.../rocketmq/tieredstore/TieredDispatcher.java | 74 ++-
.../rocketmq/tieredstore/TieredMessageFetcher.java | 542 +++++++++--------
.../rocketmq/tieredstore/TieredMessageStore.java | 127 ++--
.../tieredstore/common/GetMessageResultExt.java | 75 +++
.../{BoundaryType.java => SelectBufferResult.java} | 46 +-
...Wrapper.java => SelectBufferResultWrapper.java} | 53 +-
.../common/TieredMessageStoreConfig.java | 9 +
.../tieredstore/common/TieredStoreExecutor.java | 39 +-
.../rocketmq/tieredstore/file/CompositeAccess.java | 2 +-
.../tieredstore/file/CompositeFlatFile.java | 51 +-
.../tieredstore/file/CompositeQueueFlatFile.java | 49 +-
.../rocketmq/tieredstore/file/TieredCommitLog.java | 56 +-
.../tieredstore/file/TieredConsumeQueue.java | 2 +-
.../rocketmq/tieredstore/file/TieredFlatFile.java | 102 ++--
.../tieredstore/file/TieredFlatFileManager.java | 199 ++++---
.../rocketmq/tieredstore/file/TieredIndexFile.java | 439 --------------
.../rocketmq/tieredstore/index/IndexFile.java | 21 +-
.../rocketmq/tieredstore/index/IndexItem.java | 114 ++++
.../rocketmq/tieredstore/index/IndexService.java | 62 ++
.../rocketmq/tieredstore/index/IndexStoreFile.java | 497 ++++++++++++++++
.../tieredstore/index/IndexStoreService.java | 372 ++++++++++++
.../tieredstore/metadata/FileSegmentMetadata.java | 26 +-
.../metrics/TieredStoreMetricsConstant.java | 1 +
.../metrics/TieredStoreMetricsManager.java | 29 +-
.../tieredstore/provider/TieredFileSegment.java | 302 ++++++----
.../tieredstore/provider/TieredStoreProvider.java | 16 +-
.../provider/TieredStoreTopicBlackListFilter.java | 30 +-
.../provider/TieredStoreTopicFilter.java | 10 +-
.../provider/posix/PosixFileSegment.java | 22 +-
.../CommitLogInputStream.java} | 33 +-
.../FileSegmentInputStream.java} | 49 +-
.../FileSegmentInputStreamFactory.java} | 26 +-
.../tieredstore/util/MessageBufferUtil.java | 71 ++-
.../rocketmq/tieredstore/TieredDispatcherTest.java | 15 +-
.../tieredstore/TieredMessageFetcherTest.java | 44 +-
.../tieredstore/TieredMessageStoreTest.java | 21 +-
.../common/GetMessageResultExtTest.java | 65 +++
.../tieredstore/common/SelectBufferResultTest.java | 37 +-
.../file/CompositeQueueFlatFileTest.java | 8 +-
.../tieredstore/file/TieredCommitLogTest.java | 108 ++++
.../file/TieredFlatFileManagerTest.java | 7 +-
.../tieredstore/file/TieredFlatFileTest.java | 48 +-
.../tieredstore/file/TieredIndexFileTest.java | 137 -----
.../rocketmq/tieredstore/index/IndexItemTest.java | 91 +++
.../tieredstore/index/IndexStoreFileTest.java | 282 +++++++++
.../index/IndexStoreServiceBenchTest.java | 147 +++++
.../tieredstore/index/IndexStoreServiceTest.java | 313 ++++++++++
.../metrics/TieredStoreMetricsManagerTest.java | 4 +-
...Stream.java => MockFileSegmentInputStream.java} | 8 +-
.../provider/TieredFileSegmentInputStreamTest.java | 24 +-
.../provider/TieredFileSegmentTest.java | 89 ++-
.../TieredStoreTopicBlackListFilterTest.java | 27 +-
.../provider/memory/MemoryFileSegment.java | 27 +-
.../memory/MemoryFileSegmentWithoutCheck.java | 4 +-
.../tieredstore/util/MessageBufferUtilTest.java | 22 +-
.../src/test/resources/rmq.logback-test.xml | 17 +-
tools/BUILD.bazel | 1 +
tools/pom.xml | 2 +-
.../rocketmq/tools/admin/DefaultMQAdminExt.java | 16 +-
.../tools/admin/DefaultMQAdminExtImpl.java | 19 +-
.../apache/rocketmq/tools/admin/MQAdminExt.java | 4 -
.../rocketmq/tools/command/MQAdminStartup.java | 6 +-
.../acl/ClusterAclConfigVersionListSubCommand.java | 2 +-
.../command/acl/DeleteAccessConfigSubCommand.java | 2 +-
.../command/acl/GetAccessConfigSubCommand.java | 132 -----
.../command/acl/UpdateAccessConfigSubCommand.java | 2 +-
.../acl/UpdateGlobalWhiteAddrSubCommand.java | 2 +-
.../broker/BrokerConsumeStatsSubCommad.java | 2 +-
.../command/broker/BrokerStatusSubCommand.java | 2 +-
.../broker/CommitLogSetReadAheadSubCommand.java | 2 +-
.../broker/DeleteExpiredCommitLogSubCommand.java | 2 +-
.../command/broker/GetBrokerConfigCommand.java | 2 +-
.../command/broker/GetBrokerEpochSubCommand.java | 2 +-
.../broker/GetColdDataFlowCtrInfoSubCommand.java | 2 +-
...RemoveColdDataFlowCtrGroupConfigSubCommand.java | 2 +-
.../broker/ResetMasterFlushOffsetSubCommand.java | 2 +-
.../broker/UpdateBrokerConfigSubCommand.java | 2 +-
...UpdateColdDataFlowCtrGroupConfigSubCommand.java | 2 +-
.../command/cluster/CLusterSendMsgRTCommand.java | 2 +-
.../command/cluster/ClusterListSubCommand.java | 2 +-
.../connection/ConsumerConnectionSubCommand.java | 2 +-
.../connection/ProducerConnectionSubCommand.java | 2 +-
.../consumer/ConsumerProgressSubCommand.java | 5 +-
.../command/consumer/ConsumerStatusSubCommand.java | 2 +-
.../consumer/GetConsumerConfigSubCommand.java | 2 +-
.../consumer/StartMonitoringSubCommand.java | 2 +-
.../command/consumer/UpdateSubGroupSubCommand.java | 2 +-
.../command/container/AddBrokerSubCommand.java | 2 +-
.../command/container/RemoveBrokerSubCommand.java | 2 +-
.../CleanControllerBrokerMetaSubCommand.java | 2 +-
.../GetControllerMetaDataSubCommand.java | 2 +-
.../controller/ReElectMasterSubCommand.java | 2 +-
.../tools/command/export/ExportConfigsCommand.java | 44 +-
.../command/export/ExportMetadataCommand.java | 2 +-
.../export/ExportMetadataInRocksDBCommand.java | 138 +++++
.../tools/command/export/ExportMetricsCommand.java | 2 +-
.../command/ha/GetSyncStateSetSubCommand.java | 2 +-
.../tools/command/ha/HAStatusSubCommand.java | 2 +-
.../command/message/CheckMsgSendRTCommand.java | 2 +-
.../command/message/ConsumeMessageCommand.java | 2 +-
.../command/message/DumpCompactionLogCommand.java | 2 +-
.../message/PrintMessageByQueueCommand.java | 2 +-
.../command/message/PrintMessageSubCommand.java | 2 +-
.../command/message/QueryMsgByIdSubCommand.java | 2 +-
.../command/message/QueryMsgByKeySubCommand.java | 2 +-
.../message/QueryMsgByOffsetSubCommand.java | 2 +-
.../message/QueryMsgByUniqueKeySubCommand.java | 2 +-
.../message/QueryMsgTraceByIdSubCommand.java | 2 +-
.../tools/command/message/SendMessageCommand.java | 2 +-
.../metadata/RocksDBConfigToJsonCommand.java | 118 ++++
.../command/namesrv/AddWritePermSubCommand.java | 2 +-
.../command/namesrv/WipeWritePermSubCommand.java | 2 +-
.../command/offset/SkipAccumulationSubCommand.java | 2 +-
.../tools/command/stats/StatsAllSubCommand.java | 2 +-
.../tools/command/topic/AllocateMQSubCommand.java | 2 +-
.../topic/RemappingStaticTopicSubCommand.java | 2 +-
.../command/topic/TopicClusterSubCommand.java | 2 +-
.../tools/command/topic/TopicListSubCommand.java | 2 +-
.../tools/command/topic/TopicRouteSubCommand.java | 2 +-
.../tools/command/topic/TopicStatusSubCommand.java | 2 +-
.../command/topic/UpdateOrderConfCommand.java | 2 +-
.../command/topic/UpdateStaticTopicSubCommand.java | 2 +-
.../command/topic/UpdateTopicPermSubCommand.java | 2 +-
.../tools/command/topic/UpdateTopicSubCommand.java | 2 +-
.../rocketmq/tools/monitor/MonitorService.java | 3 +-
.../tools/admin/DefaultMQAdminExtTest.java | 30 +
.../command/acl/GetAccessConfigSubCommandTest.java | 39 --
.../ExportMetadataInRocksDBCommandTest.java | 75 +++
680 files changed, 25528 insertions(+), 7327 deletions(-)
create mode 100644 .github/ISSUE_TEMPLATE/doc.yml
create mode 100644
acl/src/test/java/org/apache/rocketmq/acl/RemotingClientAccessTest.java
copy acl/src/test/resources/{conf => access_acl_conf}/acl/plain_acl.yml (66%)
delete mode 100644
broker/src/main/java/org/apache/rocketmq/broker/latency/BrokerFixedThreadPoolExecutor.java
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/offset/RocksDBConsumerOffsetManager.java
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/offset/RocksDBLmqConsumerOffsetManager.java
rename
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/body/GetRemoteClientConfigBody.java
=>
broker/src/main/java/org/apache/rocketmq/broker/offset/RocksDBOffsetSerializeWrapper.java
(64%)
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/subscription/RocksDBLmqSubscriptionGroupManager.java
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/subscription/RocksDBSubscriptionGroupManager.java
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/topic/RocksDBLmqTopicConfigManager.java
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/topic/RocksDBTopicConfigManager.java
copy store/src/main/java/org/apache/rocketmq/store/timer/TimerMetrics.java =>
broker/src/main/java/org/apache/rocketmq/broker/transaction/TransactionMetrics.java
(66%)
create mode 100644
broker/src/main/java/org/apache/rocketmq/broker/transaction/TransactionMetricsFlushService.java
create mode 100644
broker/src/test/java/org/apache/rocketmq/broker/offset/RocksDBConsumerOffsetManagerTest.java
rename broker/src/test/java/org/apache/rocketmq/broker/{substription =>
subscription}/ForbiddenTest.java (95%)
create mode 100644
broker/src/test/java/org/apache/rocketmq/broker/topic/RocksdbTopicConfigManagerTest.java
create mode 100644
broker/src/test/java/org/apache/rocketmq/broker/transaction/queue/TransactionMetricsTest.java
create mode 100644
client/src/main/java/org/apache/rocketmq/client/consumer/store/ControllableOffset.java
copy common/src/main/java/org/apache/rocketmq/common/attribute/CQType.java =>
client/src/main/java/org/apache/rocketmq/client/latency/Resolver.java (88%)
rename
client/src/main/java/org/apache/rocketmq/client/{producer/LocalTransactionExecuter.java
=> latency/ServiceDetector.java} (68%)
create mode 100644
client/src/main/java/org/apache/rocketmq/client/producer/ProduceAccumulator.java
create mode 100644
client/src/main/java/org/apache/rocketmq/client/rpchook/NamespaceRpcHook.java
create mode 100644
client/src/test/java/org/apache/rocketmq/client/producer/ProduceAccumulatorTest.java
create mode 100644
client/src/test/java/org/apache/rocketmq/client/rpchook/NamespaceRpcHookTest.java
create mode 100644
common/src/main/java/org/apache/rocketmq/common/JraftConfig.java
create mode 100644
common/src/main/java/org/apache/rocketmq/common/config/AbstractRocksDBStorage.java
create mode 100644
common/src/main/java/org/apache/rocketmq/common/config/ConfigRocksDBStorage.java
create mode 100644
common/src/main/java/org/apache/rocketmq/common/config/RocksDBConfigManager.java
copy
broker/src/main/java/org/apache/rocketmq/broker/latency/FutureTaskExt.java =>
common/src/main/java/org/apache/rocketmq/common/constant/HAProxyConstants.java
(56%)
copy common/src/main/java/org/apache/rocketmq/common/{attribute/CQType.java =>
metrics/NopObservableDoubleGauge.java} (82%)
copy common/src/main/java/org/apache/rocketmq/common/{attribute/CQType.java =>
state/StateEventListener.java} (87%)
create mode 100644
common/src/test/java/org/apache/rocketmq/common/KeyBuilderTest.java
create mode 100644
common/src/test/java/org/apache/rocketmq/common/MessageExtBrokerInnerTest.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/JRaftController.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/JRaftControllerStateMachine.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/closure/ControllerClosure.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/event/ListEventSerializer.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/heartbeat/RaftBrokerHeartBeatManager.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/manager/RaftReplicasInfoManager.java
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/task/BrokerCloseChannelRequest.java
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/RegisterTopicRequestHeader.java
=>
controller/src/main/java/org/apache/rocketmq/controller/impl/task/BrokerCloseChannelResponse.java
(75%)
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/InitConsumerOffsetRequestHeader.java
=>
controller/src/main/java/org/apache/rocketmq/controller/impl/task/CheckNotActiveBrokerRequest.java
(68%)
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/RegisterTopicRequestHeader.java
=>
controller/src/main/java/org/apache/rocketmq/controller/impl/task/CheckNotActiveBrokerResponse.java
(74%)
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/task/GetBrokerLiveInfoRequest.java
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/RegisterTopicRequestHeader.java
=>
controller/src/main/java/org/apache/rocketmq/controller/impl/task/GetBrokerLiveInfoResponse.java
(74%)
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/NotifyConsumerIdsChangedRequestHeader.java
=>
controller/src/main/java/org/apache/rocketmq/controller/impl/task/GetSyncStateDataRequest.java
(70%)
create mode 100644
controller/src/main/java/org/apache/rocketmq/controller/impl/task/RaftBrokerHeartBeatEventRequest.java
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/namesrv/RegisterTopicRequestHeader.java
=>
controller/src/main/java/org/apache/rocketmq/controller/impl/task/RaftBrokerHeartBeatEventResponse.java
(74%)
create mode 100644 docs/cn/Debug_In_Idea.md
create mode 100644 docs/cn/image/Idea_config_broker.png
create mode 100644 docs/cn/image/Idea_config_nameserver.png
create mode 100644 docs/en/Debug_In_Idea.md
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetConsumerStatusRequestHeader.java
=>
proxy/src/main/java/org/apache/rocketmq/proxy/common/ReceiptHandleGroupKey.java
(54%)
create mode 100644
proxy/src/main/java/org/apache/rocketmq/proxy/common/RenewEvent.java
delete mode 100644
proxy/src/main/java/org/apache/rocketmq/proxy/grpc/OptionalSSLProtocolNegotiator.java
create mode 100644
proxy/src/main/java/org/apache/rocketmq/proxy/grpc/ProxyAndTlsProtocolNegotiator.java
create mode 100644
proxy/src/main/java/org/apache/rocketmq/proxy/grpc/constant/AttributeKeys.java
copy remoting/src/main/java/org/apache/rocketmq/remoting/InvokeCallback.java
=>
proxy/src/main/java/org/apache/rocketmq/proxy/grpc/v2/ContextStreamObserver.java
(76%)
create mode 100644
proxy/src/main/java/org/apache/rocketmq/proxy/processor/BatchAckResult.java
create mode 100644
proxy/src/main/java/org/apache/rocketmq/proxy/remoting/protocol/http2proxy/HAProxyMessageForwarder.java
rename
broker/src/main/java/org/apache/rocketmq/broker/latency/FutureTaskExt.java =>
proxy/src/main/java/org/apache/rocketmq/proxy/service/message/ReceiptHandleMessage.java
(61%)
copy
proxy/src/main/java/org/apache/rocketmq/proxy/{processor/ReceiptHandleProcessor.java
=> service/receipt/DefaultReceiptHandleManager.java} (69%)
copy
remoting/src/main/java/org/apache/rocketmq/remoting/ChannelEventListener.java
=>
proxy/src/main/java/org/apache/rocketmq/proxy/service/receipt/ReceiptHandleManager.java
(63%)
create mode 100644
proxy/src/test/java/org/apache/rocketmq/proxy/grpc/ProxyAndTlsProtocolNegotiatorTest.java
create mode 100644
proxy/src/test/java/org/apache/rocketmq/proxy/remoting/protocol/http2proxy/HAProxyMessageForwarderTest.java
create mode 100644
proxy/src/test/java/org/apache/rocketmq/proxy/remoting/protocol/http2proxy/Http2ProtocolProxyHandlerTest.java
rename
proxy/src/test/java/org/apache/rocketmq/proxy/{processor/ReceiptHandleProcessorTest.java
=> service/receipt/DefaultReceiptHandleManagerTest.java} (62%)
create mode 100644
remoting/src/main/java/org/apache/rocketmq/remoting/netty/AttributeKeys.java
delete mode 100644
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetBrokerClusterAclConfigResponseBody.java
delete mode 100644
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/GetBrokerClusterAclConfigResponseHeader.java
copy
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/{NotifyConsumerIdsChangedRequestHeader.java
=> HeartbeatRequestHeader.java} (70%)
copy
client/src/main/java/org/apache/rocketmq/client/latency/LatencyFaultTolerance.java
=>
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/LockBatchMqRequestHeader.java
(70%)
copy
client/src/main/java/org/apache/rocketmq/client/latency/LatencyFaultTolerance.java
=>
remoting/src/main/java/org/apache/rocketmq/remoting/protocol/header/UnlockBatchMqRequestHeader.java
(70%)
create mode 100644
remoting/src/test/java/org/apache/rocketmq/remoting/ProxyProtocolTest.java
copy
remoting/src/{main/java/org/apache/rocketmq/remoting/netty/NettyEventType.java
=> test/java/org/apache/rocketmq/remoting/netty/MockChannel.java} (76%)
create mode 100644
remoting/src/test/java/org/apache/rocketmq/remoting/netty/MockChannelPromise.java
create mode 100644
remoting/src/test/java/org/apache/rocketmq/remoting/netty/NettyRemotingServerTest.java
create mode 100644
remoting/src/test/java/org/apache/rocketmq/remoting/protocol/header/SendMessageRequestHeaderV2Test.java
create mode 100644
remoting/src/test/java/org/apache/rocketmq/remoting/rpc/RpcRequestHeaderTest.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/MultiDispatch.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/RocksDBMessageStore.java
copy store/src/main/java/org/apache/rocketmq/store/{CommitLogDispatcher.java
=> StoreType.java} (75%)
create mode 100644
store/src/main/java/org/apache/rocketmq/store/metrics/RocksDBStoreMetricsManager.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/AbstractConsumeQueueStore.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/ConsumeQueueStoreInterface.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/MultiDispatchUtils.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/RocksDBConsumeQueue.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/RocksDBConsumeQueueOffsetTable.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/RocksDBConsumeQueueStore.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/queue/RocksDBConsumeQueueTable.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/rocksdb/ConsumeQueueCompactionFilterFactory.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/rocksdb/ConsumeQueueRocksDBStorage.java
create mode 100644
store/src/main/java/org/apache/rocketmq/store/rocksdb/RocksDBOptionsFactory.java
create mode 100644
store/src/test/java/org/apache/rocketmq/store/AppendPropCRCTest.java
create mode 100644
store/src/test/java/org/apache/rocketmq/store/MessageExtBrokerInnerTest.java
copy
store/src/test/java/org/apache/rocketmq/store/{DefaultMessageStoreTest.java =>
RocksDBMessageStoreTest.java} (78%)
create mode 100644
test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/BatchAckIT.java
create mode 100644
test/src/test/java/org/apache/rocketmq/test/client/consumer/pop/PopMessageAndForwardingIT.java
rename test/src/test/java/org/apache/rocketmq/test/{base =>
}/dledger/DLedgerProduceAndConsumeIT.java (99%)
create mode 100644
test/src/test/java/org/apache/rocketmq/test/route/CreateAndUpdateTopicIT.java
create mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/MessageStoreFetcher.java
create mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/common/GetMessageResultExt.java
rename
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/common/{BoundaryType.java
=> SelectBufferResult.java} (56%)
rename
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/common/{SelectMappedBufferResultWrapper.java
=> SelectBufferResultWrapper.java} (55%)
delete mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/file/TieredIndexFile.java
copy store/src/main/java/org/apache/rocketmq/store/CommitLogDispatcher.java =>
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexFile.java
(70%)
create mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexItem.java
create mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexService.java
create mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreFile.java
create mode 100644
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/index/IndexStoreService.java
rename
client/src/main/java/org/apache/rocketmq/client/impl/BaseInvokeCallback.java =>
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/TieredStoreTopicBlackListFilter.java
(55%)
copy common/src/main/java/org/apache/rocketmq/common/attribute/CQType.java =>
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/TieredStoreTopicFilter.java
(81%)
rename
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/{inputstream/TieredCommitLogInputStream.java
=> stream/CommitLogInputStream.java} (86%)
rename
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/{inputstream/TieredFileSegmentInputStream.java
=> stream/FileSegmentInputStream.java} (77%)
rename
tieredstore/src/main/java/org/apache/rocketmq/tieredstore/provider/{inputstream/TieredFileSegmentInputStreamFactory.java
=> stream/FileSegmentInputStreamFactory.java} (54%)
create mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/common/GetMessageResultExtTest.java
copy common/src/main/java/org/apache/rocketmq/common/utils/DataConverter.java
=>
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/common/SelectBufferResultTest.java
(57%)
create mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/file/TieredCommitLogTest.java
delete mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/file/TieredIndexFileTest.java
create mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexItemTest.java
create mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexStoreFileTest.java
create mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexStoreServiceBenchTest.java
create mode 100644
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/index/IndexStoreServiceTest.java
rename
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/provider/{MockTieredFileSegmentInputStream.java
=> MockFileSegmentInputStream.java} (82%)
copy
common/src/test/java/org/apache/rocketmq/common/utils/ConcurrentHashMapUtilsTest.java
=>
tieredstore/src/test/java/org/apache/rocketmq/tieredstore/provider/TieredStoreTopicBlackListFilterTest.java
(54%)
delete mode 100644
tools/src/main/java/org/apache/rocketmq/tools/command/acl/GetAccessConfigSubCommand.java
create mode 100644
tools/src/main/java/org/apache/rocketmq/tools/command/export/ExportMetadataInRocksDBCommand.java
create mode 100644
tools/src/main/java/org/apache/rocketmq/tools/command/metadata/RocksDBConfigToJsonCommand.java
delete mode 100644
tools/src/test/java/org/apache/rocketmq/tools/command/acl/GetAccessConfigSubCommandTest.java
create mode 100644
tools/src/test/java/org/apache/rocketmq/tools/command/metadata/ExportMetadataInRocksDBCommandTest.java