You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by du...@apache.org on 2022/07/13 06:54:35 UTC
[rocketmq] 01/01: Merge pull request #4578 from apache/develop-merge-5.0.0
This is an automated email from the ASF dual-hosted git repository.
duhengforever pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/rocketmq.git
commit 10326b479af2282310ea0f496f6c08229e4ae126
Merge: 6f5cd4aa4 a2c96fd7b
Author: Heng Du <du...@apache.org>
AuthorDate: Wed Jul 13 14:54:23 2022 +0800
Merge pull request #4578 from apache/develop-merge-5.0.0
The code of 5.0.0-beta merge into develop branch
.travis.yml | 4 +-
acl/pom.xml | 2 +-
.../org/apache/rocketmq/acl/common/AclUtils.java | 39 +
.../apache/rocketmq/acl/common/AclUtilsTest.java | 21 +
acl/src/test/resources/conf/plain_acl.yml | 5 -
broker/pom.xml | 10 +-
.../apache/rocketmq/broker/BrokerController.java | 1761 ++++++++++++++-----
.../rocketmq/broker/BrokerPathConfigHelper.java | 12 +
.../rocketmq/broker/BrokerPreOnlineService.java | 277 +++
.../org/apache/rocketmq/broker/BrokerStartup.java | 58 +-
.../org/apache/rocketmq/broker/ShutdownHook.java | 15 +-
.../broker/client/ClientHousekeepingService.java | 12 +-
.../rocketmq/broker/client/ConsumerGroupInfo.java | 25 +-
.../broker/client/ConsumerIdsChangeListener.java | 2 +
.../rocketmq/broker/client/ConsumerManager.java | 42 +-
.../client/DefaultConsumerIdsChangeListener.java | 68 +-
.../rocketmq/broker/client/ProducerManager.java | 23 +-
.../rocketmq/broker/client/net/Broker2Client.java | 8 +-
.../client/rebalance/RebalanceLockManager.java | 99 +-
.../broker/dledger/DLedgerRoleChangeHandler.java | 90 +-
.../rocketmq/broker/failover/EscapeBridge.java | 268 +++
.../broker/filtersrv/FilterServerManager.java | 6 +-
.../rocketmq/broker/latency/BrokerFastFailure.java | 44 +-
.../broker/loadbalance/AssignmentManager.java | 140 ++
.../loadbalance/MessageRequestModeManager.java | 95 +
.../longpolling/LmqPullRequestHoldService.java | 3 +
.../broker/longpolling/ManyPullRequest.java | 4 +
.../broker/longpolling/NotificationRequest.java | 57 +
.../longpolling/NotifyMessageArrivingListener.java | 12 +-
.../rocketmq/broker/longpolling/PopRequest.java | 89 +
.../broker/longpolling/PullRequestHoldService.java | 36 +-
.../broker/mqtrace/AbortProcessException.java | 69 +
.../broker/mqtrace/ConsumeMessageContext.java | 77 +-
.../broker/mqtrace/SendMessageContext.java | 102 +-
.../broker/offset/ConsumerOffsetManager.java | 85 +-
.../broker/offset/ConsumerOrderInfoManager.java | 426 +++++
.../apache/rocketmq/broker/out/BrokerOuterAPI.java | 750 +++++++-
.../broker/pagecache/OneMessageTransfer.java | 1 +
.../broker/plugin/AbstractPluginMessageStore.java | 296 +++-
.../broker/plugin/BrokerAttachedPlugin.java | 74 +
.../broker/plugin/MessageStoreFactory.java | 15 +-
.../broker/plugin/MessageStorePluginContext.java | 16 +-
.../broker/plugin/PullMessageResultHandler.java | 53 +
.../processor/AbstractSendMessageProcessor.java | 457 ++++-
.../broker/processor/AckMessageProcessor.java | 214 +++
.../broker/processor/AdminBrokerProcessor.java | 992 +++++++++--
.../processor/ChangeInvisibleTimeProcessor.java | 206 +++
.../broker/processor/ClientManageProcessor.java | 52 +-
.../broker/processor/ConsumerManageProcessor.java | 188 +-
.../processor/DefaultPullMessageResultHandler.java | 244 +++
.../broker/processor/EndTransactionProcessor.java | 10 +-
.../broker/processor/ForwardRequestProcessor.java | 4 +-
.../broker/processor/NotificationProcessor.java | 318 ++++
.../broker/processor/PeekMessageProcessor.java | 271 +++
.../broker/processor/PollingInfoProcessor.java | 119 ++
.../broker/processor/PopBufferMergeService.java | 776 +++++++++
.../broker/processor/PopMessageProcessor.java | 983 +++++++++++
.../broker/processor/PopReviveService.java | 488 ++++++
.../broker/processor/PullMessageProcessor.java | 574 +++---
.../broker/processor/QueryAssignmentProcessor.java | 324 ++++
.../broker/processor/QueryMessageProcessor.java | 15 +-
.../broker/processor/ReplyMessageProcessor.java | 13 +-
.../broker/processor/SendMessageCallback.java | 22 +-
.../broker/processor/SendMessageProcessor.java | 603 +++----
.../schedule/DelayOffsetSerializeWrapper.java | 13 +-
.../broker}/schedule/ScheduleMessageService.java | 183 +-
.../rocketmq/broker/slave/SlaveSynchronize.java | 73 +-
.../subscription/SubscriptionGroupManager.java | 112 +-
.../rocketmq/broker/topic/TopicConfigManager.java | 287 ++-
.../topic/TopicQueueMappingCleanService.java | 337 ++++
.../broker/topic/TopicQueueMappingManager.java | 259 +++
.../AbstractTransactionalMessageCheckListener.java | 45 +-
.../broker/transaction/OperationResult.java | 8 +-
.../TransactionalMessageCheckService.java | 3 +
.../transaction/TransactionalMessageService.java | 2 +-
.../transaction/jdbc/JDBCTransactionStore.java | 242 ---
.../jdbc/JDBCTransactionStoreConfig.java | 57 -
.../DefaultTransactionalMessageCheckListener.java | 2 +-
.../queue/TransactionalMessageBridge.java | 2 +-
.../queue/TransactionalMessageServiceImpl.java | 2 +-
.../org/apache/rocketmq/broker/util/HookUtils.java | 164 ++
.../OperationResult.java => util/MsgUtil.java} | 35 +-
.../rocketmq/broker/BrokerControllerTest.java | 3 +-
.../apache/rocketmq/broker/BrokerOuterAPITest.java | 61 +-
.../apache/rocketmq/broker/BrokerStartupTest.java | 20 +-
.../broker/filter/MessageStoreWithFilterTest.java | 56 +-
.../broker/offset/ConsumerOffsetManagerTest.java | 55 +
.../broker/pagecache/OneMessageTransferTest.java | 8 +-
...essorTest.java => AckMessageProcessorTest.java} | 97 +-
.../broker/processor/AdminBrokerProcessorTest.java | 107 +-
....java => ChangeInvisibleTimeProcessorTest.java} | 96 +-
.../processor/ClientManageProcessorTest.java | 1 -
.../processor/ConsumerManageProcessorTest.java | 91 +
.../processor/EndTransactionProcessorTest.java | 2 +-
.../processor/PopBufferMergeServiceTest.java | 120 ++
...essorTest.java => PopMessageProcessorTest.java} | 163 +-
.../broker/processor/PullMessageProcessorTest.java | 28 +-
.../processor/QueryAssignmentProcessorTest.java | 227 +++
.../processor/ReplyMessageProcessorTest.java | 2 +-
.../broker/processor/SendMessageProcessorTest.java | 217 ++-
.../schedule/ScheduleMessageServiceTest.java | 145 +-
.../broker/substription/ForbiddenTest.java | 64 +
.../broker/topic/TopicConfigManagerTest.java | 324 ++++
.../broker/topic/TopicQueueMappingManagerTest.java | 112 ++
...faultTransactionalMessageCheckListenerTest.java | 2 +-
.../queue/TransactionalMessageBridgeTest.java | 2 +-
.../queue/TransactionalMessageServiceImplTest.java | 2 +-
.../rocketmq/broker/util/ServiceProviderTest.java | 7 +-
.../util/TransactionalMessageServiceImpl.java | 2 +-
client/pom.xml | 11 +-
.../java/org/apache/rocketmq/client/MQAdmin.java | 14 +-
.../rocketmq/client/consumer/AckCallback.java | 10 +-
.../apache/rocketmq/client/consumer/AckResult.java | 40 +-
.../apache/rocketmq/client/consumer/AckStatus.java | 17 +-
.../client/consumer/DefaultMQPullConsumer.java | 14 +-
.../client/consumer/DefaultMQPushConsumer.java | 70 +-
.../rocketmq/client/consumer/MQPullConsumer.java | 7 +
.../rocketmq/client/consumer/PopCallback.java | 13 +-
.../consumer/{PullResult.java => PopResult.java} | 59 +-
.../apache/rocketmq/client/consumer/PopStatus.java | 29 +-
.../rocketmq/client/consumer/PullResult.java | 1 +
.../AbstractAllocateMessageQueueStrategy.java | 2 +-
.../rebalance/AllocateMessageQueueAveragely.java | 10 +
.../AllocateMessageQueueAveragelyByCircle.java | 10 +
.../consumer/store/RemoteBrokerOffsetStore.java | 31 +-
.../client/exception/MQBrokerException.java | 6 +
.../client/exception/MQRedirectException.java | 26 +-
.../client/exception/OffsetNotFoundException.java | 23 +-
.../rocketmq/client/impl/BaseInvokeCallback.java | 26 +-
.../client/impl/ClientRemotingProcessor.java | 3 +-
.../apache/rocketmq/client/impl/MQAdminImpl.java | 64 +-
.../rocketmq/client/impl/MQClientAPIImpl.java | 632 ++++++-
.../ConsumeMessageConcurrentlyService.java | 11 +-
.../consumer/ConsumeMessageOrderlyService.java | 14 +-
...a => ConsumeMessagePopConcurrentlyService.java} | 260 +--
.../consumer/ConsumeMessagePopOrderlyService.java | 408 +++++
.../impl/consumer/ConsumeMessageService.java | 5 +
.../impl/consumer/DefaultLitePullConsumerImpl.java | 45 +-
.../impl/consumer/DefaultMQPullConsumerImpl.java | 43 +-
.../impl/consumer/DefaultMQPushConsumerImpl.java | 412 ++++-
.../client/impl/consumer/MessageQueueLock.java | 29 +-
.../client/impl/consumer/MessageRequest.java | 10 +-
.../client/impl/consumer/PopProcessQueue.java | 84 +
.../consumer/{PullRequest.java => PopRequest.java} | 71 +-
.../client/impl/consumer/PullAPIWrapper.java | 141 +-
.../client/impl/consumer/PullMessageService.java | 47 +-
.../rocketmq/client/impl/consumer/PullRequest.java | 8 +-
.../client/impl/consumer/PullResultExt.java | 12 +
.../client/impl/consumer/RebalanceImpl.java | 479 ++++-
.../impl/consumer/RebalanceLitePullImpl.java | 25 +-
.../client/impl/consumer/RebalancePullImpl.java | 26 +-
.../client/impl/consumer/RebalancePushImpl.java | 71 +-
.../client/impl/factory/MQClientInstance.java | 174 +-
.../impl/producer/DefaultMQProducerImpl.java | 20 +-
.../rocketmq/client/latency/MQFaultStrategy.java | 2 +-
.../client/producer/DefaultMQProducer.java | 16 +-
.../rocketmq/client/producer/SendResult.java | 9 +
.../consumer/DefaultLitePullConsumerTest.java | 32 +-
.../client/consumer/DefaultMQPushConsumerTest.java | 83 +-
.../store/RemoteBrokerOffsetStoreTest.java | 10 +-
.../rocketmq/client/impl/MQClientAPIImplTest.java | 463 ++++-
.../consumer/DefaultMQPushConsumerImplTest.java | 63 +
.../impl/consumer/RebalancePushImplTest.java | 13 -
.../client/impl/factory/MQClientInstanceTest.java | 1 +
.../client/producer/DefaultMQProducerTest.java | 2 +-
.../selector/SelectMessageQueueRetryTest.java | 1 -
.../powermock/extensions/configuration.properties | 16 +
common/pom.xml | 6 +-
...uestHeader.java => AbstractBrokerRunnable.java} | 31 +-
.../org/apache/rocketmq/common/BrokerConfig.java | 621 ++++++-
.../org/apache/rocketmq/common/BrokerIdentity.java | 149 ++
.../org/apache/rocketmq/common/BrokerSyncInfo.java | 70 +
.../org/apache/rocketmq/common/ConfigManager.java | 11 +
.../org/apache/rocketmq/common/Configuration.java | 41 +
.../org/apache/rocketmq/common/DataVersion.java | 49 +-
.../{ThreadFactoryImpl.java => KeyBuilder.java} | 32 +-
.../org/apache/rocketmq/common/LockCallback.java | 12 +-
.../java/org/apache/rocketmq/common/MQVersion.java | 2 +-
.../java/org/apache/rocketmq/common/MixAll.java | 25 +-
.../apache/rocketmq/common/PopAckConstants.java | 44 +
.../org/apache/rocketmq/common/ServiceThread.java | 8 +-
.../apache/rocketmq/common/ThreadFactoryImpl.java | 13 +
.../apache/rocketmq/common/TopicAttributes.java | 47 +
.../org/apache/rocketmq/common/TopicConfig.java | 122 +-
.../org/apache/rocketmq/common/TopicQueueId.java | 54 +
.../MessageType.java => UnlockCallback.java} | 10 +-
.../java/org/apache/rocketmq/common/UtilAll.java | 129 +-
.../apache/rocketmq/common/admin/TopicOffset.java | 9 +
.../rocketmq/common/attribute/Attribute.java | 36 +-
.../rocketmq/common/attribute/AttributeParser.java | 79 +
.../BooleanAttribute.java} | 28 +-
.../MessageType.java => attribute/CQType.java} | 10 +-
.../EnumAttribute.java} | 30 +-
.../LongRangeAttribute.java} | 33 +-
.../TopicMessageType.java} | 29 +-
.../ConsumeInitMode.java} | 11 +-
.../rocketmq/common/constant/LoggerName.java | 9 +-
.../apache/rocketmq/common/constant/PermName.java | 18 +-
.../fastjson/GenericMapSuperclassDeserializer.java | 58 +
.../rocketmq/common/future/FutureTaskExt.java | 31 +-
.../rocketmq/common/message/MessageConst.java | 34 +-
.../rocketmq/common/message/MessageDecoder.java | 201 ++-
.../apache/rocketmq/common/message/MessageExt.java | 55 +
.../rocketmq/common/message/MessageExtBatch.java | 15 +-
.../common/message}/MessageExtBrokerInner.java | 3 +-
.../rocketmq/common/message/MessageQueue.java | 6 +
.../common/message/MessageQueueAssignment.java | 83 +
.../{MessageType.java => MessageRequestMode.java} | 30 +-
.../rocketmq/common/message/MessageType.java | 28 +-
.../rocketmq/common/message/MessageVersion.java | 70 +
.../common/namesrv/DefaultTopAddressing.java | 165 ++
.../NameServerUpdateCallback.java} | 10 +-
.../rocketmq/common/namesrv/NamesrvConfig.java | 134 +-
.../rocketmq/common/namesrv/TopAddressing.java | 88 +-
.../rocketmq/common/protocol/ForbiddenType.java | 38 +-
.../rocketmq/common/protocol/RequestCode.java | 42 +
.../rocketmq/common/protocol/ResponseCode.java | 18 +
.../common/protocol/body/BrokerMemberGroup.java | 90 +
.../protocol/body/CheckClientRequestBody.java | 9 +
.../rocketmq/common/protocol/body/ClusterInfo.java | 28 +-
.../body/ConsumerOffsetSerializeWrapper.java | 10 +
.../common/protocol/body/ConsumerRunningInfo.java | 63 +-
.../body/GetBrokerMemberGroupResponseBody.java | 19 +-
.../protocol/body/GetRemoteClientConfigBody.java | 26 +-
.../common/protocol/body/HARuntimeInfo.java | 188 ++
.../common/protocol/body/LockBatchRequestBody.java | 9 +
...ava => MessageRequestModeSerializeWrapper.java} | 20 +-
...ntRequestBody.java => PopProcessQueueInfo.java} | 45 +-
...stBody.java => QueryAssignmentRequestBody.java} | 39 +-
.../protocol/body/QueryAssignmentResponseBody.java | 22 +-
...ody.java => QuerySubscriptionResponseBody.java} | 22 +-
.../common/protocol/body/RegisterBrokerBody.java | 32 +-
.../SetMessageRequestModeRequestBody.java} | 54 +-
.../TopicConfigAndMappingSerializeWrapper.java | 68 +
...java => TopicQueueMappingSerializeWrapper.java} | 35 +-
.../protocol/body/UnlockBatchRequestBody.java | 9 +
...estHeader.java => AckMessageRequestHeader.java} | 37 +-
...uestHeader.java => AddBrokerRequestHeader.java} | 21 +-
....java => ChangeInvisibleTimeRequestHeader.java} | 51 +-
...java => ChangeInvisibleTimeResponseHeader.java} | 39 +-
.../ConsumeMessageDirectlyResultRequestHeader.java | 30 +
.../protocol/header/CreateTopicRequestHeader.java | 21 +
.../DeleteSubscriptionGroupRequestHeader.java | 10 +-
...eader.java => ExchangeHAInfoRequestHeader.java} | 44 +-
...ader.java => ExchangeHAInfoResponseHeader.java} | 44 +-
.../common/protocol/header/ExtraInfoUtil.java | 258 +++
...java => GetBrokerMemberGroupRequestHeader.java} | 31 +-
.../GetEarliestMsgStoretimeRequestHeader.java | 8 +-
.../protocol/header/GetMaxOffsetRequestHeader.java | 26 +-
.../protocol/header/GetMinOffsetRequestHeader.java | 8 +-
...> GetSubscriptionGroupConfigRequestHeader.java} | 24 +-
...eader.java => GetTopicConfigRequestHeader.java} | 19 +-
.../header/GetTopicStatsInfoRequestHeader.java | 4 +-
...r.java => InitConsumerOffsetRequestHeader.java} | 17 +-
...tHeader.java => NotificationRequestHeader.java} | 44 +-
...Header.java => NotificationResponseHeader.java} | 19 +-
...a => NotifyMinBrokerIdChangeRequestHeader.java} | 52 +-
...stHeader.java => PeekMessageRequestHeader.java} | 28 +-
...stHeader.java => PollingInfoRequestHeader.java} | 16 +-
...tHeader.java => PollingInfoResponseHeader.java} | 18 +-
.../protocol/header/PopMessageRequestHeader.java | 155 ++
.../protocol/header/PopMessageResponseHeader.java | 102 ++
.../protocol/header/PullMessageRequestHeader.java | 56 +-
.../protocol/header/PullMessageResponseHeader.java | 66 +
.../header/QueryConsumerOffsetRequestHeader.java | 18 +-
... QuerySubscriptionByConsumerRequestHeader.java} | 24 +-
...ava => QueryTopicsByConsumerRequestHeader.java} | 16 +-
...tHeader.java => RemoveBrokerRequestHeader.java} | 39 +-
...ader.java => ResetMasterFlushOffsetHeader.java} | 13 +-
.../protocol/header/SearchOffsetRequestHeader.java | 8 +-
.../protocol/header/SendMessageRequestHeader.java | 8 +-
.../protocol/header/SendMessageResponseHeader.java | 15 +
...r.java => StatisticsMessagesRequestHeader.java} | 37 +-
.../header/UpdateConsumerOffsetRequestHeader.java | 8 +-
...java => UpdateGroupForbiddenRequestHeader.java} | 28 +-
...ader.java => BrokerHeartbeatRequestHeader.java} | 58 +-
.../header/namesrv/GetRouteInfoRequestHeader.java | 2 +
.../namesrv/RegisterBrokerRequestHeader.java | 22 +
.../RegisterTopicRequestHeader.java} | 5 +-
.../rocketmq/common/protocol/route/BrokerData.java | 55 +-
.../route/MessageQueueRouteState.java} | 15 +-
.../rocketmq/common/protocol/route/QueueData.java | 13 +
.../common/protocol/route/TopicRouteData.java | 92 +-
.../common/protocol/route/TopicRouteDatas.java | 21 +-
.../apache/rocketmq/common/rpc/ClientMetadata.java | 176 ++
.../apache/rocketmq/common/rpc/RequestBuilder.java | 81 +
.../org/apache/rocketmq/common/rpc/RpcClient.java | 29 +-
.../apache/rocketmq/common/rpc/RpcClientHook.java | 12 +-
.../apache/rocketmq/common/rpc/RpcClientImpl.java | 340 ++++
.../apache/rocketmq/common/rpc/RpcClientUtils.java | 58 +
.../apache/rocketmq/common/rpc/RpcException.java | 31 +-
.../org/apache/rocketmq/common/rpc/RpcRequest.java | 33 +-
.../RpcRequestHeader.java} | 54 +-
.../apache/rocketmq/common/rpc/RpcResponse.java | 70 +
.../common/rpc/TopicQueueRequestHeader.java | 10 +-
.../rocketmq/common/rpc/TopicRequestHeader.java | 19 +-
.../common/statictopic/LogicQueueMappingItem.java | 212 +++
.../statictopic/TopicConfigAndQueueMapping.java | 63 +
.../statictopic/TopicQueueMappingContext.java | 99 ++
.../statictopic/TopicQueueMappingDetail.java | 144 ++
.../common/statictopic/TopicQueueMappingInfo.java | 161 ++
.../common/statictopic/TopicQueueMappingOne.java | 85 +
.../common/statictopic/TopicQueueMappingUtils.java | 694 ++++++++
.../statictopic/TopicRemappingDetailWrapper.java | 104 ++
.../rocketmq/common/statistics/FutureHolder.java | 53 +
.../Interceptor.java} | 18 +-
.../common/statistics/StatisticsBrief.java | 184 ++
.../statistics/StatisticsBriefInterceptor.java | 76 +
.../rocketmq/common/statistics/StatisticsItem.java | 175 ++
.../StatisticsItemFormatter.java} | 32 +-
.../common/statistics/StatisticsItemPrinter.java | 50 +
.../StatisticsItemScheduledIncrementPrinter.java | 290 +++
.../statistics/StatisticsItemScheduledPrinter.java | 97 ++
.../StatisticsItemStateGetter.java} | 10 +-
.../StatisticsKindMeta.java} | 39 +-
.../common/statistics/StatisticsManager.java | 157 ++
.../common/subscription/CustomizedRetryPolicy.java | 85 +
.../subscription/ExponentialRetryPolicy.java | 74 +
.../common/subscription/GroupForbidden.java | 86 +
.../common/subscription/GroupRetryPolicy.java | 78 +
.../GroupRetryPolicyType.java} | 12 +-
.../rocketmq/common/subscription/RetryPolicy.java | 17 +-
.../subscription/SubscriptionGroupConfig.java | 95 +-
.../rocketmq/common/sysflag/MessageSysFlag.java | 5 +-
.../rocketmq/common/sysflag/PullSysFlag.java | 4 +
.../rocketmq/common/topic/TopicValidator.java | 2 +
.../rocketmq/common/utils/DataConverter.java | 35 +-
.../apache/rocketmq/common/utils/MessageUtils.java | 49 +
.../common/utils/PositiveAtomicCounter.java | 32 +-
.../rocketmq/common/utils/QueueTypeUtils.java | 51 +
.../rocketmq/common/utils}/ServiceProvider.java | 27 +-
.../apache/rocketmq/common/utils/ThreadUtils.java | 17 +-
.../apache/rocketmq/common/ConfigManagerTest.java | 5 +-
.../apache/rocketmq/common/DataVersionTest.java | 7 +
.../rocketmq/common/RegisterBrokerBodyTest.java | 5 +-
.../apache/rocketmq/common/TopicConfigTest.java | 78 +
.../org/apache/rocketmq/common/UtilAllTest.java | 21 +-
.../common/attribute/AttributeParserTest.java | 70 +
.../rocketmq/common/attribute/AttributeTest.java | 70 +
.../common/message/MessageClientIDSetterTest.java | 2 -
.../common/message/MessageDecoderTest.java | 12 +-
.../rocketmq/common/message/MessageTest.java | 1 -
.../rocketmq/common/protocol/body/KVTableTest.java | 1 -
.../MessageRequestModeSerializeWrapperTest.java | 58 +
.../common/protocol/route/TopicRouteDataTest.java | 11 +-
.../common/statictopic/TopicQueueMappingTest.java | 78 +
.../statictopic/TopicQueueMappingUtilsTest.java | 320 ++++
.../subscription/CustomizedRetryPolicyTest.java | 44 +
.../subscription/ExponentialRetryPolicyTest.java | 44 +
.../common/subscription/GroupRetryPolicyTest.java | 49 +
{logging => container}/pom.xml | 23 +-
.../apache/rocketmq/container/BrokerBootHook.java | 36 +-
.../apache/rocketmq/container/BrokerContainer.java | 478 +++++
.../rocketmq/container/BrokerContainerConfig.java | 75 +
.../container/BrokerContainerProcessor.java | 280 +++
.../rocketmq/container/BrokerContainerStartup.java | 445 +++++
.../ContainerClientHouseKeepingService.java | 104 ++
.../rocketmq/container/IBrokerContainer.java | 142 ++
.../rocketmq/container/InnerBrokerController.java | 204 +++
.../container/InnerSalveBrokerController.java | 46 +
.../logback/BrokerLogbackConfigurator.java | 187 ++
.../container/BrokerContainerStartupTest.java | 140 ++
.../rocketmq/container/BrokerContainerTest.java | 371 ++++
.../rocketmq/container/BrokerPreOnlineTest.java | 102 ++
distribution/bin/{mqshutdown => mqbrokercontainer} | 46 +-
distribution/bin/mqshutdown | 14 +
distribution/bin/runbroker.cmd | 1 +
distribution/bin/runbroker.sh | 3 +-
.../2container-2m-2s/broker-a-in-container1.conf | 48 +-
.../2container-2m-2s/broker-a-in-container2.conf | 48 +-
.../2container-2m-2s/broker-b-in-container1.conf | 48 +-
.../2container-2m-2s/broker-b-in-container2.conf | 48 +-
.../2container-2m-2s/broker-container1.conf | 38 +-
.../2container-2m-2s/broker-container2.conf | 38 +-
.../container/2container-2m-2s/nameserver.conf | 30 +-
distribution/conf/logback_broker.xml | 29 +
distribution/conf/logback_tools.xml | 5 +
distribution/pom.xml | 6 +-
distribution/release.xml | 1 +
docs/cn/BrokerContainer.md | 152 ++
docs/cn/QuorumACK.md | 70 +
docs/cn/README.md | 12 +-
docs/cn/SlaveActingMasterMode.md | 164 ++
..._Topic_Logic_Queue_\350\256\276\350\256\241.md" | 503 ++++++
docs/cn/statictopic/The_Scope_Of_Static_Topic.md | 116 ++
docs/en/Feature.md | 7 +-
example/pom.xml | 6 +-
.../rocketmq/example/benchmark/Consumer.java | 2 +
.../rocketmq/example/simple/PopPushConsumer.java | 62 +
filter/pom.xml | 2 +-
logging/pom.xml | 2 +-
.../rocketmq/logging/InternalLoggerFactory.java | 11 +
.../rocketmq/logging/Slf4jLoggerFactory.java | 87 +-
.../apache/rocketmq/logging/inner/SysLogger.java | 4 +-
.../rocketmq/logging/Slf4jLoggerFactoryTest.java | 2 +-
.../rocketmq/logging/inner/LoggingBuilderTest.java | 8 +-
namesrv/pom.xml | 14 +-
.../apache/rocketmq/namesrv/NamesrvController.java | 149 +-
.../apache/rocketmq/namesrv/NamesrvStartup.java | 11 +-
.../namesrv/processor/ClientRequestProcessor.java | 102 ++
.../processor/ClusterTestRequestProcessor.java | 2 +-
.../namesrv/processor/DefaultRequestProcessor.java | 364 ++--
.../namesrv/routeinfo/BatchUnRegisterService.java | 85 +
.../routeinfo/BrokerHousekeepingService.java | 6 +-
.../namesrv/routeinfo/RouteInfoManager.java | 1027 ++++++++---
...rocessorTest.java => RequestProcessorTest.java} | 159 +-
.../namesrv/routeinfo/GetRouteInfoBenchmark.java | 148 ++
.../namesrv/routeinfo/RegisterBrokerBenchmark.java | 177 ++
.../routeinfo/RouteInfoManagerBrokerPermTest.java | 24 +-
.../RouteInfoManagerBrokerRegisterTest.java | 61 +-
.../RouteInfoManagerStaticRegisterTest.java | 19 +-
.../namesrv/routeinfo/RouteInfoManagerTest.java | 223 +++
.../routeinfo/RouteInfoManagerTestBase.java | 1 +
.../routeinfo/RouteInfoManager_NewTest.java | 783 +++++++++
openmessaging/pom.xml | 2 +-
pom.xml | 22 +-
remoting/pom.xml | 2 +-
.../java/org/apache/rocketmq/remoting/RPCHook.java | 2 +-
.../apache/rocketmq/remoting/RemotingClient.java | 6 +-
.../apache/rocketmq/remoting/RemotingServer.java | 6 +
.../apache/rocketmq/remoting/RemotingService.java | 5 +
.../rocketmq/remoting/common/RemotingHelper.java | 39 +
.../rocketmq/remoting/common/RemotingUtil.java | 18 +-
.../rocketmq/remoting/netty/NettyClientConfig.java | 15 +
.../remoting/netty/NettyRemotingAbstract.java | 103 +-
.../remoting/netty/NettyRemotingClient.java | 361 +++-
.../remoting/netty/NettyRemotingServer.java | 158 +-
.../remoting/netty/NettyRequestProcessor.java | 1 -
.../rocketmq/remoting/netty/ResponseFuture.java | 42 +-
.../remoting/protocol/FastCodesHeader.java | 2 +-
.../remoting/protocol/RemotingCommand.java | 54 +-
.../remoting/protocol/RemotingSerializable.java | 7 +-
.../rocketmq/remoting/RemotingServerTest.java | 5 +-
.../rocketmq/remoting/SubRemotingServerTest.java | 109 ++
.../remoting/netty/NettyRemotingAbstractTest.java | 6 +-
.../remoting/protocol/RemotingCommandTest.java | 99 +-
srvutil/pom.xml | 10 +-
.../rocketmq/srvutil/ConcurrentHashMapUtil.java | 50 +
.../apache/rocketmq/srvutil/FileWatchService.java | 4 +-
.../rocketmq/util/cache/CacheEvictHandler.java | 10 +-
.../apache/rocketmq/util/cache/CacheObject.java | 28 +-
.../rocketmq/util/cache/ExpiredLocalCache.java | 84 +
.../org/apache/rocketmq/util/cache/LocalCache.java | 58 +
.../apache/rocketmq/util/cache/LockManager.java | 54 +
store/pom.xml | 2 +-
.../rocketmq/store/AllocateMappedFileService.java | 11 +-
.../rocketmq/store/AppendMessageCallback.java | 2 +-
.../apache/rocketmq/store/AppendMessageResult.java | 12 +
.../java/org/apache/rocketmq/store/CommitLog.java | 1138 ++++++++----
.../org/apache/rocketmq/store/ConsumeQueue.java | 313 +++-
.../org/apache/rocketmq/store/ConsumeQueueExt.java | 5 +
.../apache/rocketmq/store/DefaultMessageStore.java | 1842 ++++++++++++--------
.../org/apache/rocketmq/store/DispatchRequest.java | 45 +
.../apache/rocketmq/store/FileQueueSnapshot.java | 90 +
.../apache/rocketmq/store/GetMessageResult.java | 37 +-
.../org/apache/rocketmq/store/MappedFileQueue.java | 189 +-
.../org/apache/rocketmq/store/MessageStore.java | 422 ++++-
.../org/apache/rocketmq/store/MultiDispatch.java | 184 --
.../rocketmq/store/MultiPathMappedFileQueue.java | 6 +-
.../apache/rocketmq/store/PutMessageContext.java | 48 +
.../apache/rocketmq/store/PutMessageResult.java | 26 +-
.../apache/rocketmq/store/PutMessageStatus.java | 6 +-
.../apache/rocketmq/store/QueryMessageResult.java | 4 +
.../rocketmq/store/SelectMappedBufferResult.java | 11 +-
.../rocketmq/store/SelectMappedFileResult.java | 34 +-
.../org/apache/rocketmq/store/StoreCheckpoint.java | 21 +-
.../apache/rocketmq/store/StoreStatsService.java | 11 +
.../java/org/apache/rocketmq/store/StoreUtil.java | 44 +
.../java/org/apache/rocketmq/store/Swappable.java | 14 +-
.../org/apache/rocketmq/store/TopicQueueLock.java | 46 +
.../rocketmq/store/config/MessageStoreConfig.java | 484 ++++-
.../store/config/StorePathConfigHelper.java | 3 +
.../rocketmq/store/dledger/DLedgerCommitLog.java | 275 ++-
.../apache/rocketmq/store/ha/DefaultHAClient.java | 392 +++++
...{HAConnection.java => DefaultHAConnection.java} | 187 +-
.../apache/rocketmq/store/ha/DefaultHAService.java | 339 ++++
.../org/apache/rocketmq/store/ha/FlowMonitor.java | 76 +
.../rocketmq/store/ha/GroupTransferService.java | 140 ++
.../org/apache/rocketmq/store/ha/HAClient.java | 104 ++
.../org/apache/rocketmq/store/ha/HAConnection.java | 428 +----
.../rocketmq/store/ha/HAConnectionState.java | 31 +-
.../ha/HAConnectionStateNotificationRequest.java | 49 +
.../ha/HAConnectionStateNotificationService.java | 150 ++
.../org/apache/rocketmq/store/ha/HAService.java | 665 +------
.../apache/rocketmq/store/ha/WaitNotifyObject.java | 67 +-
.../apache/rocketmq/store/hook/PutMessageHook.java | 25 +-
.../rocketmq/store/hook/SendMessageBackHook.java | 25 +-
.../org/apache/rocketmq/store/index/IndexFile.java | 21 +-
.../apache/rocketmq/store/index/IndexService.java | 75 +-
.../rocketmq/store/logfile/AbstractMappedFile.java | 9 +-
.../DefaultMappedFile.java} | 302 ++--
.../apache/rocketmq/store/logfile/MappedFile.java | 340 ++++
.../java/org/apache/rocketmq/store/pop/AckMsg.java | 97 ++
.../apache/rocketmq/store/pop/PopCheckPoint.java | 184 ++
.../rocketmq/store/queue/BatchConsumeQueue.java | 980 +++++++++++
.../rocketmq/store/queue/BatchOffsetIndex.java | 57 +
.../store/queue/ConsumeQueueInterface.java | 142 ++
.../rocketmq/store/queue/ConsumeQueueStore.java | 483 +++++
.../org/apache/rocketmq/store/queue/CqUnit.java | 115 ++
.../rocketmq/store/queue/FileQueueLifeCycle.java | 84 +
.../rocketmq/store/queue/QueueOffsetAssigner.java | 92 +
.../rocketmq/store/queue/ReferredIterator.java | 14 +-
.../apache/rocketmq/store/stats/BrokerStats.java | 6 +-
.../rocketmq/store/stats/BrokerStatsManager.java | 435 ++++-
.../apache/rocketmq/store/util/PerfCounter.java | 370 ++++
.../apache/rocketmq/store/AppendCallbackTest.java | 4 +-
.../apache/rocketmq/store/BatchPutMessageTest.java | 61 +-
.../apache/rocketmq/store/ConsumeQueueTest.java | 80 +-
.../store/DefaultMessageStoreCleanFilesTest.java | 92 +-
.../store/DefaultMessageStoreShutDownTest.java | 2 +-
.../rocketmq/store/DefaultMessageStoreTest.java | 285 ++-
.../java/org/apache/rocketmq/store/HATest.java | 130 +-
.../apache/rocketmq/store/MappedFileQueueTest.java | 156 +-
.../org/apache/rocketmq/store/MappedFileTest.java | 4 +-
.../apache/rocketmq/store/MultiDispatchTest.java | 63 +-
.../store/MultiPathMappedFileQueueTest.java | 32 +-
.../rocketmq/store/ScheduleMessageServiceTest.java | 194 ---
.../org/apache/rocketmq/store/StoreTestBase.java | 13 +-
.../store/dledger/DLedgerCommitlogTest.java | 20 +-
.../store/dledger/MessageStoreTestBase.java | 5 +-
.../rocketmq/store/dledger/MixCommitlogTest.java | 2 -
.../apache/rocketmq/store/ha/FlowMonitorTest.java | 61 +
.../org/apache/rocketmq/store/ha/HAClientTest.java | 72 +
.../org/apache/rocketmq/store/ha/HAServerTest.java | 295 ++++
.../rocketmq/store/ha/WaitNotifyObjectTest.java | 2 -
.../store/queue/BatchConsumeMessageTest.java | 454 +++++
.../store/queue/BatchConsumeQueueTest.java | 312 ++++
.../store/queue/ConsumeQueueStoreTest.java | 100 ++
.../rocketmq/store/queue/ConsumeQueueTest.java | 102 ++
.../apache/rocketmq/store/queue/QueueTestBase.java | 114 ++
test/pom.xml | 6 +-
.../test/client/rmq/RMQNormalConsumer.java | 5 +
.../test/client/rmq/RMQNormalProducer.java | 7 +
.../rocketmq/test/client/rmq/RMQPopConsumer.java | 33 +
.../test/clientinterface/AbstractMQProducer.java | 1 +
.../rocketmq/test/factory/ConsumerFactory.java | 10 +
.../rocketmq/test/listener/AbstractListener.java | 2 +-
.../org/apache/rocketmq/test/util/MQAdmin.java | 166 --
.../rocketmq/test/util/MQAdminTestUtils.java | 310 ++++
.../org/apache/rocketmq/test/base/BaseConf.java | 168 +-
.../rocketmq/test/base/IntegrationTestBase.java | 40 +-
.../base/dledger/DLedgerProduceAndConsumeIT.java | 3 +-
.../consumer/balance/NormalMsgStaticBalanceIT.java | 18 +-
.../normal/BroadCastNormalMsgRecvFailIT.java | 2 +
.../test/client/consumer/pop/PopSubCheckIT.java | 97 ++
.../test/client/producer/batch/BatchSendIT.java | 161 ++
.../client/producer/oneway/OneWaySendWithMQIT.java | 10 -
.../client/producer/order/OrderMsgRebalanceIT.java | 2 +-
.../test/container/AddAndRemoveBrokerIT.java | 83 +
.../rocketmq/test/container/BrokerFailoverIT.java | 86 +
.../test/container/BrokerMemberGroupIT.java | 71 +
.../container/ContainerIntegrationTestBase.java | 666 +++++++
.../test/container/GetMaxOffsetFromSlaveIT.java | 100 ++
.../test/container/GetMetadataReverseIT.java | 231 +++
.../test/container/PullMultipleReplicasIT.java | 201 +++
.../test/container/PushMultipleReplicasIT.java | 114 ++
.../test/container/RebalanceLockOnSlaveIT.java | 209 +++
.../container/ScheduleSlaveActingMasterIT.java | 220 +++
.../test/container/ScheduledMessageIT.java | 153 ++
.../test/container/SendMultipleReplicasIT.java | 159 ++
.../rocketmq/test/container/SlaveBrokerIT.java | 117 ++
.../test/container/SyncConsumerOffsetIT.java | 148 ++
.../rocketmq/test/delay/NormalMsgDelayIT.java | 1 -
.../rocketmq/test/offset/OffsetNotFoundIT.java | 132 ++
.../test/smoke/NormalMessageSendAndRecvIT.java | 39 +-
.../rocketmq/test/statictopic/StaticTopicIT.java | 523 ++++++
tools/pom.xml | 6 +-
.../rocketmq/tools/admin/DefaultMQAdminExt.java | 208 ++-
.../tools/admin/DefaultMQAdminExtImpl.java | 1158 ++++++++----
.../apache/rocketmq/tools/admin/MQAdminExt.java | 128 +-
.../apache/rocketmq/tools/admin/MQAdminUtils.java | 343 ++++
.../tools/admin/api/BrokerOperatorResult.java | 37 +-
.../tools/admin/common/AdminToolHandler.java | 10 +-
.../tools/admin/common/AdminToolResult.java | 76 +
.../common/AdminToolsResultCodeEnum.java} | 31 +-
.../apache/rocketmq/tools/command/CommandUtil.java | 17 +-
.../rocketmq/tools/command/MQAdminStartup.java | 38 +-
.../tools/command/SubCommandException.java | 4 +
.../command/broker/GetBrokerConfigCommand.java | 29 +-
.../broker/ResetMasterFlushOffsetSubCommand.java | 71 +
.../broker/UpdateBrokerConfigSubCommand.java | 16 +-
.../command/cluster/CLusterSendMsgRTCommand.java | 4 +-
.../command/cluster/ClusterListSubCommand.java | 108 +-
.../consumer/ConsumerProgressSubCommand.java | 17 +-
.../consumer/DeleteSubscriptionGroupCommand.java | 19 +-
.../consumer/GetConsumerConfigSubCommand.java | 2 +-
.../SetConsumeModeSubCommand.java} | 71 +-
.../command/consumer/UpdateSubGroupSubCommand.java | 26 +
.../command/container/AddBrokerSubCommand.java | 66 +
.../command/container/RemoveBrokerSubCommand.java | 79 +
.../tools/command/ha/HAStatusSubCommand.java | 151 ++
.../command/offset/ResetOffsetByTimeCommand.java | 34 +
.../tools/command/topic/DeleteTopicSubCommand.java | 2 +-
.../topic/RemappingStaticTopicSubCommand.java | 207 +++
.../command/topic/UpdateStaticTopicSubCommand.java | 208 +++
.../tools/command/topic/UpdateTopicSubCommand.java | 14 +
.../tools/admin/DefaultMQAdminExtTest.java | 74 +-
.../rocketmq/tools/command/CommandUtilTest.java | 2 +-
.../consumer/ConsumerProgressSubCommandTest.java | 2 +
.../message/QueryMsgByUniqueKeySubCommandTest.java | 18 +-
600 files changed, 52593 insertions(+), 9243 deletions(-)
diff --cc broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
index 503bf0bfa,9bfcc0f21..656e87245
--- a/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
+++ b/broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java
@@@ -86,9 -141,9 +141,9 @@@ public class BrokerOuterAPI
public String fetchNameServerAddr() {
try {
String addrs = this.topAddressing.fetchNSAddr();
- if (addrs != null) {
+ if (!UtilAll.isBlank(addrs)) {
if (!addrs.equals(this.nameSrvAddr)) {
- log.info("name server address changed, old: {} new: {}", this.nameSrvAddr, addrs);
+ LOGGER.info("name server address changed, old: {} new: {}", this.nameSrvAddr, addrs);
this.updateNameServerAddressList(addrs);
this.nameSrvAddr = addrs;
return nameSrvAddr;
diff --cc pom.xml
index f67ae7a00,8eef3bccc..7f14a1d86
--- a/pom.xml
+++ b/pom.xml
@@@ -119,9 -120,10 +120,10 @@@
<lz4-java.version>1.8.0</lz4-java.version>
<opentracing.version>0.33.0</opentracing.version>
<jaeger.version>1.6.0</jaeger.version>
- <dleger.version>0.2.6</dleger.version>
+ <dleger.version>0.2.7</dleger.version>
<annotations-api.version>6.0.53</annotations-api.version>
<extra-enforcer-rules.version>1.0-beta-4</extra-enforcer-rules.version>
+ <concurrentlinkedhashmap-lru.version>1.4.2</concurrentlinkedhashmap-lru.version>
<!-- Test dependencies -->
<junit.version>4.13.2</junit.version>