gitextract_8f2xr136/ ├── .asf.yaml ├── .bazelrc ├── .bazelversion ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ ├── doc.yml │ │ ├── enhancement_request.yml │ │ └── feature_request.yml │ ├── PULL_REQUEST_TEMPLATE.md │ ├── asf-deploy-settings.xml │ └── workflows/ │ ├── bazel.yml │ ├── codeql_analysis.yml │ ├── coverage.yml │ ├── integration-test.yml │ ├── license-checker.yaml │ ├── maven.yaml │ ├── misspell_check.yml │ ├── pr-ci.yml │ ├── pr-e2e-test.yml │ ├── push-ci.yml │ ├── rerun-workflow.yml │ ├── snapshot-automation.yml │ └── stale.yml ├── .gitignore ├── .licenserc.yaml ├── BUILD.bazel ├── BUILDING ├── CONTRIBUTING.md ├── LICENSE ├── MODULE.bazel ├── NOTICE ├── README.md ├── WORKSPACE ├── auth/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── auth/ │ │ ├── authentication/ │ │ │ ├── AuthenticationEvaluator.java │ │ │ ├── builder/ │ │ │ │ ├── AuthenticationContextBuilder.java │ │ │ │ └── DefaultAuthenticationContextBuilder.java │ │ │ ├── chain/ │ │ │ │ └── DefaultAuthenticationHandler.java │ │ │ ├── context/ │ │ │ │ ├── AuthenticationContext.java │ │ │ │ └── DefaultAuthenticationContext.java │ │ │ ├── enums/ │ │ │ │ ├── SubjectType.java │ │ │ │ ├── UserStatus.java │ │ │ │ └── UserType.java │ │ │ ├── exception/ │ │ │ │ └── AuthenticationException.java │ │ │ ├── factory/ │ │ │ │ └── AuthenticationFactory.java │ │ │ ├── manager/ │ │ │ │ ├── AuthenticationMetadataManager.java │ │ │ │ └── AuthenticationMetadataManagerImpl.java │ │ │ ├── model/ │ │ │ │ ├── Subject.java │ │ │ │ └── User.java │ │ │ ├── provider/ │ │ │ │ ├── AuthenticationMetadataProvider.java │ │ │ │ ├── AuthenticationProvider.java │ │ │ │ ├── DefaultAuthenticationProvider.java │ │ │ │ └── LocalAuthenticationMetadataProvider.java │ │ │ └── strategy/ │ │ │ ├── AbstractAuthenticationStrategy.java │ │ │ ├── AuthenticationStrategy.java │ │ │ ├── StatefulAuthenticationStrategy.java │ │ │ └── StatelessAuthenticationStrategy.java │ │ ├── authorization/ │ │ │ ├── AuthorizationEvaluator.java │ │ │ ├── builder/ │ │ │ │ ├── AuthorizationContextBuilder.java │ │ │ │ └── DefaultAuthorizationContextBuilder.java │ │ │ ├── chain/ │ │ │ │ ├── AclAuthorizationHandler.java │ │ │ │ └── UserAuthorizationHandler.java │ │ │ ├── context/ │ │ │ │ ├── AuthorizationContext.java │ │ │ │ └── DefaultAuthorizationContext.java │ │ │ ├── enums/ │ │ │ │ ├── Decision.java │ │ │ │ └── PolicyType.java │ │ │ ├── exception/ │ │ │ │ └── AuthorizationException.java │ │ │ ├── factory/ │ │ │ │ └── AuthorizationFactory.java │ │ │ ├── manager/ │ │ │ │ ├── AuthorizationMetadataManager.java │ │ │ │ └── AuthorizationMetadataManagerImpl.java │ │ │ ├── model/ │ │ │ │ ├── Acl.java │ │ │ │ ├── Environment.java │ │ │ │ ├── Policy.java │ │ │ │ ├── PolicyEntry.java │ │ │ │ ├── RequestContext.java │ │ │ │ └── Resource.java │ │ │ ├── provider/ │ │ │ │ ├── AuthorizationMetadataProvider.java │ │ │ │ ├── AuthorizationProvider.java │ │ │ │ ├── DefaultAuthorizationProvider.java │ │ │ │ └── LocalAuthorizationMetadataProvider.java │ │ │ └── strategy/ │ │ │ ├── AbstractAuthorizationStrategy.java │ │ │ ├── AuthorizationStrategy.java │ │ │ ├── StatefulAuthorizationStrategy.java │ │ │ └── StatelessAuthorizationStrategy.java │ │ ├── config/ │ │ │ └── AuthConfig.java │ │ └── migration/ │ │ ├── AuthMigrator.java │ │ └── v1/ │ │ ├── AccessResource.java │ │ ├── AclConfig.java │ │ ├── PlainAccessConfig.java │ │ ├── PlainAccessData.java │ │ ├── PlainAccessResource.java │ │ └── PlainPermissionManager.java │ └── test/ │ └── java/ │ └── org/ │ └── apache/ │ └── rocketmq/ │ └── auth/ │ ├── authentication/ │ │ ├── AuthenticationEvaluatorTest.java │ │ ├── builder/ │ │ │ └── DefaultAuthenticationContextBuilderTest.java │ │ ├── manager/ │ │ │ └── AuthenticationMetadataManagerTest.java │ │ └── provider/ │ │ └── LocalAuthenticationMetadataProviderTest.java │ ├── authorization/ │ │ ├── AuthorizationEvaluatorTest.java │ │ ├── builder/ │ │ │ └── DefaultAuthorizationContextBuilderTest.java │ │ ├── chain/ │ │ │ ├── AclAuthorizationHandlerTest.java │ │ │ └── UserAuthorizationHandlerTest.java │ │ ├── manager/ │ │ │ └── AuthorizationMetadataManagerTest.java │ │ ├── model/ │ │ │ └── ResourceTest.java │ │ ├── provider/ │ │ │ └── LocalAuthorizationMetadataProviderTest.java │ │ └── strategy/ │ │ └── StatefulAuthorizationStrategyTest.java │ ├── helper/ │ │ └── AuthTestHelper.java │ └── migration/ │ └── AuthMigratorTest.java ├── bazel/ │ ├── BUILD.bazel │ └── GenTestRules.bzl ├── broker/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── rocketmq/ │ │ │ └── broker/ │ │ │ ├── BrokerController.java │ │ │ ├── BrokerPathConfigHelper.java │ │ │ ├── BrokerPreOnlineService.java │ │ │ ├── BrokerStartup.java │ │ │ ├── ConfigContext.java │ │ │ ├── ShutdownHook.java │ │ │ ├── auth/ │ │ │ │ ├── converter/ │ │ │ │ │ ├── AclConverter.java │ │ │ │ │ └── UserConverter.java │ │ │ │ └── pipeline/ │ │ │ │ ├── AuthenticationPipeline.java │ │ │ │ └── AuthorizationPipeline.java │ │ │ ├── client/ │ │ │ │ ├── ClientChannelAttributeHelper.java │ │ │ │ ├── ClientChannelInfo.java │ │ │ │ ├── ClientHousekeepingService.java │ │ │ │ ├── ConsumerGroupEvent.java │ │ │ │ ├── ConsumerGroupInfo.java │ │ │ │ ├── ConsumerIdsChangeListener.java │ │ │ │ ├── ConsumerManager.java │ │ │ │ ├── DefaultConsumerIdsChangeListener.java │ │ │ │ ├── ProducerChangeListener.java │ │ │ │ ├── ProducerGroupEvent.java │ │ │ │ ├── ProducerManager.java │ │ │ │ ├── net/ │ │ │ │ │ └── Broker2Client.java │ │ │ │ └── rebalance/ │ │ │ │ └── RebalanceLockManager.java │ │ │ ├── coldctr/ │ │ │ │ ├── ColdCtrStrategy.java │ │ │ │ ├── ColdDataCgCtrService.java │ │ │ │ ├── ColdDataPullRequestHoldService.java │ │ │ │ ├── PIDAdaptiveColdCtrStrategy.java │ │ │ │ └── SimpleColdCtrStrategy.java │ │ │ ├── config/ │ │ │ │ ├── v1/ │ │ │ │ │ ├── RocksDBConfigManager.java │ │ │ │ │ ├── RocksDBConsumerOffsetManager.java │ │ │ │ │ ├── RocksDBLmqSubscriptionGroupManager.java │ │ │ │ │ ├── RocksDBLmqTopicConfigManager.java │ │ │ │ │ ├── RocksDBOffsetSerializeWrapper.java │ │ │ │ │ ├── RocksDBSubscriptionGroupManager.java │ │ │ │ │ └── RocksDBTopicConfigManager.java │ │ │ │ └── v2/ │ │ │ │ ├── ConfigHelper.java │ │ │ │ ├── ConfigStorage.java │ │ │ │ ├── ConsumerOffsetManagerV2.java │ │ │ │ ├── RecordPrefix.java │ │ │ │ ├── SerializationType.java │ │ │ │ ├── SubscriptionGroupManagerV2.java │ │ │ │ ├── TableId.java │ │ │ │ ├── TablePrefix.java │ │ │ │ ├── TopicConfigManagerV2.java │ │ │ │ └── package-info.java │ │ │ ├── controller/ │ │ │ │ └── ReplicasManager.java │ │ │ ├── dledger/ │ │ │ │ └── DLedgerRoleChangeHandler.java │ │ │ ├── failover/ │ │ │ │ └── EscapeBridge.java │ │ │ ├── filter/ │ │ │ │ ├── CommitLogDispatcherCalcBitMap.java │ │ │ │ ├── ConsumerFilterData.java │ │ │ │ ├── ConsumerFilterManager.java │ │ │ │ ├── ExpressionForRetryMessageFilter.java │ │ │ │ ├── ExpressionMessageFilter.java │ │ │ │ └── MessageEvaluationContext.java │ │ │ ├── latency/ │ │ │ │ └── BrokerFastFailure.java │ │ │ ├── lite/ │ │ │ │ ├── AbstractLiteLifecycleManager.java │ │ │ │ ├── LiteCtlListener.java │ │ │ │ ├── LiteEventDispatcher.java │ │ │ │ ├── LiteLifecycleManager.java │ │ │ │ ├── LiteMetadataUtil.java │ │ │ │ ├── LiteQuotaException.java │ │ │ │ ├── LiteSharding.java │ │ │ │ ├── LiteShardingImpl.java │ │ │ │ ├── LiteSubscriptionRegistry.java │ │ │ │ ├── LiteSubscriptionRegistryImpl.java │ │ │ │ └── RocksDBLiteLifecycleManager.java │ │ │ ├── loadbalance/ │ │ │ │ └── MessageRequestModeManager.java │ │ │ ├── longpolling/ │ │ │ │ ├── LmqPullRequestHoldService.java │ │ │ │ ├── ManyPullRequest.java │ │ │ │ ├── NotificationRequest.java │ │ │ │ ├── NotifyMessageArrivingListener.java │ │ │ │ ├── PollingHeader.java │ │ │ │ ├── PollingResult.java │ │ │ │ ├── PopCommandCallback.java │ │ │ │ ├── PopLiteLongPollingService.java │ │ │ │ ├── PopLongPollingService.java │ │ │ │ ├── PopRequest.java │ │ │ │ ├── PullRequest.java │ │ │ │ └── PullRequestHoldService.java │ │ │ ├── metrics/ │ │ │ │ ├── BrokerMetricsConstant.java │ │ │ │ ├── BrokerMetricsManager.java │ │ │ │ ├── ConsumerAttr.java │ │ │ │ ├── ConsumerLagCalculator.java │ │ │ │ ├── InvocationStatus.java │ │ │ │ ├── LiteConsumerLagCalculator.java │ │ │ │ ├── PopMetricsConstant.java │ │ │ │ ├── PopMetricsManager.java │ │ │ │ ├── PopReviveMessageType.java │ │ │ │ └── ProducerAttr.java │ │ │ ├── mqtrace/ │ │ │ │ ├── ConsumeMessageContext.java │ │ │ │ ├── ConsumeMessageHook.java │ │ │ │ ├── SendMessageContext.java │ │ │ │ └── SendMessageHook.java │ │ │ ├── offset/ │ │ │ │ ├── BroadcastOffsetManager.java │ │ │ │ ├── BroadcastOffsetStore.java │ │ │ │ ├── ConsumerOffsetManager.java │ │ │ │ ├── LmqConsumerOffsetManager.java │ │ │ │ └── MemoryConsumerOrderInfoManager.java │ │ │ ├── out/ │ │ │ │ └── BrokerOuterAPI.java │ │ │ ├── pagecache/ │ │ │ │ ├── ManyMessageTransfer.java │ │ │ │ ├── OneMessageTransfer.java │ │ │ │ └── QueryMessageTransfer.java │ │ │ ├── plugin/ │ │ │ │ ├── BrokerAttachedPlugin.java │ │ │ │ └── PullMessageResultHandler.java │ │ │ ├── pop/ │ │ │ │ ├── PopConsumerCache.java │ │ │ │ ├── PopConsumerContext.java │ │ │ │ ├── PopConsumerKVStore.java │ │ │ │ ├── PopConsumerLockService.java │ │ │ │ ├── PopConsumerRecord.java │ │ │ │ ├── PopConsumerRocksdbStore.java │ │ │ │ ├── PopConsumerService.java │ │ │ │ └── orderly/ │ │ │ │ ├── ConsumerOrderInfoManager.java │ │ │ │ ├── QueueLevelConsumerManager.java │ │ │ │ └── QueueLevelConsumerOrderInfoLockManager.java │ │ │ ├── processor/ │ │ │ │ ├── AbstractSendMessageProcessor.java │ │ │ │ ├── AckMessageProcessor.java │ │ │ │ ├── AdminBrokerProcessor.java │ │ │ │ ├── ChangeInvisibleTimeProcessor.java │ │ │ │ ├── ClientManageProcessor.java │ │ │ │ ├── ConsumerManageProcessor.java │ │ │ │ ├── DefaultPullMessageResultHandler.java │ │ │ │ ├── EndTransactionProcessor.java │ │ │ │ ├── LiteManagerProcessor.java │ │ │ │ ├── LiteSubscriptionCtlProcessor.java │ │ │ │ ├── NotificationProcessor.java │ │ │ │ ├── PeekMessageProcessor.java │ │ │ │ ├── PollingInfoProcessor.java │ │ │ │ ├── PopBufferMergeService.java │ │ │ │ ├── PopInflightMessageCounter.java │ │ │ │ ├── PopLiteMessageProcessor.java │ │ │ │ ├── PopMessageProcessor.java │ │ │ │ ├── PopReviveService.java │ │ │ │ ├── PullMessageProcessor.java │ │ │ │ ├── QueryAssignmentProcessor.java │ │ │ │ ├── QueryMessageProcessor.java │ │ │ │ ├── RecallMessageProcessor.java │ │ │ │ ├── ReplyMessageProcessor.java │ │ │ │ ├── SendMessageCallback.java │ │ │ │ └── SendMessageProcessor.java │ │ │ ├── schedule/ │ │ │ │ ├── DelayOffsetSerializeWrapper.java │ │ │ │ └── ScheduleMessageService.java │ │ │ ├── slave/ │ │ │ │ └── SlaveSynchronize.java │ │ │ ├── subscription/ │ │ │ │ ├── LmqSubscriptionGroupManager.java │ │ │ │ └── SubscriptionGroupManager.java │ │ │ ├── topic/ │ │ │ │ ├── LmqTopicConfigManager.java │ │ │ │ ├── TopicConfigManager.java │ │ │ │ ├── TopicQueueMappingCleanService.java │ │ │ │ ├── TopicQueueMappingManager.java │ │ │ │ └── TopicRouteInfoManager.java │ │ │ ├── transaction/ │ │ │ │ ├── AbstractTransactionalMessageCheckListener.java │ │ │ │ ├── OperationResult.java │ │ │ │ ├── TransactionMetrics.java │ │ │ │ ├── TransactionMetricsFlushService.java │ │ │ │ ├── TransactionalMessageCheckService.java │ │ │ │ ├── TransactionalMessageService.java │ │ │ │ ├── queue/ │ │ │ │ │ ├── DefaultTransactionalMessageCheckListener.java │ │ │ │ │ ├── GetResult.java │ │ │ │ │ ├── MessageQueueOpContext.java │ │ │ │ │ ├── TransactionalMessageBridge.java │ │ │ │ │ ├── TransactionalMessageServiceImpl.java │ │ │ │ │ ├── TransactionalMessageUtil.java │ │ │ │ │ └── TransactionalOpBatchService.java │ │ │ │ └── rocksdb/ │ │ │ │ └── TransactionalMessageRocksDBService.java │ │ │ └── util/ │ │ │ ├── HookUtils.java │ │ │ └── PositiveAtomicCounter.java │ │ └── resources/ │ │ ├── rmq.broker.logback.xml │ │ └── transaction.sql │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── broker/ │ │ ├── BrokerControllerTest.java │ │ ├── BrokerOuterAPITest.java │ │ ├── BrokerPathConfigHelperTest.java │ │ ├── BrokerShutdownTest.java │ │ ├── BrokerStartupTest.java │ │ ├── RocksDBConfigManagerTest.java │ │ ├── client/ │ │ │ ├── ConsumerManagerScannerTest.java │ │ │ ├── ConsumerManagerTest.java │ │ │ ├── ProducerManagerTest.java │ │ │ ├── net/ │ │ │ │ └── Broker2ClientTest.java │ │ │ └── rebalance/ │ │ │ └── RebalanceLockManagerTest.java │ │ ├── coldctr/ │ │ │ └── ColdDataCgCtrServiceTest.java │ │ ├── config/ │ │ │ ├── v1/ │ │ │ │ ├── RocksDBConsumerOffsetManagerMigrationTest.java │ │ │ │ ├── RocksDBSubscriptionGroupManagerMigrationTest.java │ │ │ │ ├── RocksDBSubscriptionGroupManagerTest.java │ │ │ │ ├── RocksDBTopicConfigManagerMigrationTest.java │ │ │ │ └── RocksDBTopicConfigManagerTest.java │ │ │ └── v2/ │ │ │ ├── ConsumerOffsetManagerV2Test.java │ │ │ ├── SubscriptionGroupManagerV2Test.java │ │ │ └── TopicConfigManagerV2Test.java │ │ ├── controller/ │ │ │ ├── ReplicasManagerRegisterTest.java │ │ │ └── ReplicasManagerTest.java │ │ ├── failover/ │ │ │ └── EscapeBridgeTest.java │ │ ├── filter/ │ │ │ ├── CommitLogDispatcherCalcBitMapTest.java │ │ │ ├── ConsumerFilterManagerTest.java │ │ │ └── MessageStoreWithFilterTest.java │ │ ├── latency/ │ │ │ └── BrokerFastFailureTest.java │ │ ├── lite/ │ │ │ ├── AbstractLiteLifecycleManagerTest.java │ │ │ ├── LiteEventDispatcherTest.java │ │ │ ├── LiteLifecycleManagerTest.java │ │ │ ├── LiteShardingImplTest.java │ │ │ ├── LiteSubscriptionRegistryImplTest.java │ │ │ ├── LiteTestUtil.java │ │ │ └── RocksDBLiteLifecycleManagerTest.java │ │ ├── longpolling/ │ │ │ ├── PopLiteLongPollingServiceTest.java │ │ │ ├── PopLongPollingServiceTest.java │ │ │ └── PullRequestHoldServiceTest.java │ │ ├── metrics/ │ │ │ ├── BrokerMetricsManagerTest.java │ │ │ └── LiteConsumerLagCalculatorTest.java │ │ ├── offset/ │ │ │ ├── BroadcastOffsetManagerTest.java │ │ │ ├── BroadcastOffsetStoreTest.java │ │ │ ├── ConsumerOffsetManagerTest.java │ │ │ ├── LmqConsumerOffsetManagerTest.java │ │ │ ├── RocksDBConsumerOffsetManagerTest.java │ │ │ ├── RocksDBLmqConsumerOffsetManagerTest.java │ │ │ ├── RocksDBOffsetSerializeWrapperTest.java │ │ │ └── RocksdbTransferOffsetAndCqTest.java │ │ ├── pagecache/ │ │ │ ├── ManyMessageTransferTest.java │ │ │ ├── OneMessageTransferTest.java │ │ │ └── QueryMessageTransferTest.java │ │ ├── pop/ │ │ │ ├── PopConsumerCacheTest.java │ │ │ ├── PopConsumerContextTest.java │ │ │ ├── PopConsumerLockServiceTest.java │ │ │ ├── PopConsumerRecordTest.java │ │ │ ├── PopConsumerRocksdbStoreTest.java │ │ │ ├── PopConsumerServiceTest.java │ │ │ └── orderly/ │ │ │ ├── ConsumerOrderInfoManagerLockFreeNotifyTest.java │ │ │ └── ConsumerOrderInfoManagerTest.java │ │ ├── processor/ │ │ │ ├── AckMessageProcessorTest.java │ │ │ ├── AdminBrokerProcessorTest.java │ │ │ ├── ChangeInvisibleTimeProcessorTest.java │ │ │ ├── ClientManageProcessorTest.java │ │ │ ├── ConsumerManageProcessorTest.java │ │ │ ├── EndTransactionProcessorTest.java │ │ │ ├── LiteManagerProcessorTest.java │ │ │ ├── LiteSubscriptionCtlProcessorTest.java │ │ │ ├── PeekMessageProcessorTest.java │ │ │ ├── PopBufferMergeServiceTest.java │ │ │ ├── PopInflightMessageCounterTest.java │ │ │ ├── PopLiteMessageProcessorTest.java │ │ │ ├── PopMessageProcessorTest.java │ │ │ ├── PopReviveServiceTest.java │ │ │ ├── PullMessageProcessorTest.java │ │ │ ├── QueryAssignmentProcessorTest.java │ │ │ ├── QueryMessageProcessorTest.java │ │ │ ├── RecallMessageProcessorTest.java │ │ │ ├── ReplyMessageProcessorTest.java │ │ │ └── SendMessageProcessorTest.java │ │ ├── schedule/ │ │ │ └── ScheduleMessageServiceTest.java │ │ ├── slave/ │ │ │ ├── SlaveSynchronizeAtomicTest.java │ │ │ └── SlaveSynchronizeTest.java │ │ ├── subscription/ │ │ │ ├── ForbiddenTest.java │ │ │ ├── RocksdbGroupConfigTransferTest.java │ │ │ └── SubscriptionGroupManagerTest.java │ │ ├── topic/ │ │ │ ├── RocksdbTopicConfigManagerTest.java │ │ │ ├── RocksdbTopicConfigTransferTest.java │ │ │ ├── TopicConfigManagerTest.java │ │ │ ├── TopicQueueMappingCleanServiceTest.java │ │ │ └── TopicQueueMappingManagerTest.java │ │ ├── transaction/ │ │ │ └── queue/ │ │ │ ├── DefaultTransactionalMessageCheckListenerTest.java │ │ │ ├── TransactionMetricsTest.java │ │ │ ├── TransactionalMessageBridgeTest.java │ │ │ ├── TransactionalMessageServiceImplTest.java │ │ │ └── TransactionalMessageUtilTest.java │ │ └── util/ │ │ ├── HookUtilsTest.java │ │ ├── LogTransactionalMessageCheckListener.java │ │ ├── ServiceProviderTest.java │ │ └── TransactionalMessageServiceImpl.java │ └── resources/ │ ├── META-INF/ │ │ └── service/ │ │ ├── org.apache.rocketmq.broker.transaction.AbstractTransactionalMessageCheckListener │ │ └── org.apache.rocketmq.broker.transaction.TransactionalMessageService │ └── rmq.logback-test.xml ├── client/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── rocketmq/ │ │ │ ├── acl/ │ │ │ │ └── common/ │ │ │ │ ├── AclClientRPCHook.java │ │ │ │ ├── AclConstants.java │ │ │ │ ├── AclException.java │ │ │ │ ├── AclSigner.java │ │ │ │ ├── AclUtils.java │ │ │ │ ├── Permission.java │ │ │ │ ├── SessionCredentials.java │ │ │ │ └── SigningAlgorithm.java │ │ │ └── client/ │ │ │ ├── AccessChannel.java │ │ │ ├── ClientConfig.java │ │ │ ├── MQAdmin.java │ │ │ ├── MQHelper.java │ │ │ ├── MqClientAdmin.java │ │ │ ├── QueryResult.java │ │ │ ├── Validators.java │ │ │ ├── admin/ │ │ │ │ └── MQAdminExtInner.java │ │ │ ├── common/ │ │ │ │ ├── ClientErrorCode.java │ │ │ │ ├── NameserverAccessConfig.java │ │ │ │ └── ThreadLocalIndex.java │ │ │ ├── consumer/ │ │ │ │ ├── AckCallback.java │ │ │ │ ├── AckResult.java │ │ │ │ ├── AckStatus.java │ │ │ │ ├── AllocateMessageQueueStrategy.java │ │ │ │ ├── DefaultLitePullConsumer.java │ │ │ │ ├── DefaultMQPullConsumer.java │ │ │ │ ├── DefaultMQPushConsumer.java │ │ │ │ ├── LitePullConsumer.java │ │ │ │ ├── MQConsumer.java │ │ │ │ ├── MQPullConsumer.java │ │ │ │ ├── MQPullConsumerScheduleService.java │ │ │ │ ├── MQPushConsumer.java │ │ │ │ ├── MessageQueueListener.java │ │ │ │ ├── MessageSelector.java │ │ │ │ ├── NotifyResult.java │ │ │ │ ├── PopCallback.java │ │ │ │ ├── PopResult.java │ │ │ │ ├── PopStatus.java │ │ │ │ ├── PullCallback.java │ │ │ │ ├── PullResult.java │ │ │ │ ├── PullStatus.java │ │ │ │ ├── PullTaskCallback.java │ │ │ │ ├── PullTaskContext.java │ │ │ │ ├── TopicMessageQueueChangeListener.java │ │ │ │ ├── listener/ │ │ │ │ │ ├── ConsumeConcurrentlyContext.java │ │ │ │ │ ├── ConsumeConcurrentlyStatus.java │ │ │ │ │ ├── ConsumeOrderlyContext.java │ │ │ │ │ ├── ConsumeOrderlyStatus.java │ │ │ │ │ ├── ConsumeReturnType.java │ │ │ │ │ ├── MessageListener.java │ │ │ │ │ ├── MessageListenerConcurrently.java │ │ │ │ │ └── MessageListenerOrderly.java │ │ │ │ ├── rebalance/ │ │ │ │ │ ├── AbstractAllocateMessageQueueStrategy.java │ │ │ │ │ ├── AllocateMachineRoomNearby.java │ │ │ │ │ ├── AllocateMessageQueueAveragely.java │ │ │ │ │ ├── AllocateMessageQueueAveragelyByCircle.java │ │ │ │ │ ├── AllocateMessageQueueByConfig.java │ │ │ │ │ ├── AllocateMessageQueueByMachineRoom.java │ │ │ │ │ └── AllocateMessageQueueConsistentHash.java │ │ │ │ └── store/ │ │ │ │ ├── ControllableOffset.java │ │ │ │ ├── LocalFileOffsetStore.java │ │ │ │ ├── OffsetSerializeWrapper.java │ │ │ │ ├── OffsetStore.java │ │ │ │ ├── ReadOffsetType.java │ │ │ │ └── RemoteBrokerOffsetStore.java │ │ │ ├── exception/ │ │ │ │ ├── MQBrokerException.java │ │ │ │ ├── MQClientException.java │ │ │ │ ├── OffsetNotFoundException.java │ │ │ │ └── RequestTimeoutException.java │ │ │ ├── hook/ │ │ │ │ ├── CheckForbiddenContext.java │ │ │ │ ├── CheckForbiddenHook.java │ │ │ │ ├── ConsumeMessageContext.java │ │ │ │ ├── ConsumeMessageHook.java │ │ │ │ ├── EndTransactionContext.java │ │ │ │ ├── EndTransactionHook.java │ │ │ │ ├── FilterMessageContext.java │ │ │ │ ├── FilterMessageHook.java │ │ │ │ ├── SendMessageContext.java │ │ │ │ └── SendMessageHook.java │ │ │ ├── impl/ │ │ │ │ ├── ClientRemotingProcessor.java │ │ │ │ ├── CommunicationMode.java │ │ │ │ ├── FindBrokerResult.java │ │ │ │ ├── MQAdminImpl.java │ │ │ │ ├── MQClientAPIImpl.java │ │ │ │ ├── MQClientManager.java │ │ │ │ ├── admin/ │ │ │ │ │ └── MqClientAdminImpl.java │ │ │ │ ├── consumer/ │ │ │ │ │ ├── AssignedMessageQueue.java │ │ │ │ │ ├── ConsumeMessageConcurrentlyService.java │ │ │ │ │ ├── ConsumeMessageOrderlyService.java │ │ │ │ │ ├── ConsumeMessagePopConcurrentlyService.java │ │ │ │ │ ├── ConsumeMessagePopOrderlyService.java │ │ │ │ │ ├── ConsumeMessageService.java │ │ │ │ │ ├── DefaultLitePullConsumerImpl.java │ │ │ │ │ ├── DefaultMQPullConsumerImpl.java │ │ │ │ │ ├── DefaultMQPushConsumerImpl.java │ │ │ │ │ ├── MQConsumerInner.java │ │ │ │ │ ├── MessageQueueLock.java │ │ │ │ │ ├── MessageRequest.java │ │ │ │ │ ├── PopProcessQueue.java │ │ │ │ │ ├── PopRequest.java │ │ │ │ │ ├── ProcessQueue.java │ │ │ │ │ ├── PullAPIWrapper.java │ │ │ │ │ ├── PullMessageService.java │ │ │ │ │ ├── PullRequest.java │ │ │ │ │ ├── PullResultExt.java │ │ │ │ │ ├── RebalanceImpl.java │ │ │ │ │ ├── RebalanceLitePullImpl.java │ │ │ │ │ ├── RebalancePullImpl.java │ │ │ │ │ ├── RebalancePushImpl.java │ │ │ │ │ └── RebalanceService.java │ │ │ │ ├── factory/ │ │ │ │ │ └── MQClientInstance.java │ │ │ │ ├── mqclient/ │ │ │ │ │ ├── DoNothingClientRemotingProcessor.java │ │ │ │ │ ├── MQClientAPIExt.java │ │ │ │ │ └── MQClientAPIFactory.java │ │ │ │ └── producer/ │ │ │ │ ├── DefaultMQProducerImpl.java │ │ │ │ ├── MQProducerInner.java │ │ │ │ └── TopicPublishInfo.java │ │ │ ├── latency/ │ │ │ │ ├── LatencyFaultTolerance.java │ │ │ │ ├── LatencyFaultToleranceImpl.java │ │ │ │ ├── MQFaultStrategy.java │ │ │ │ ├── Resolver.java │ │ │ │ └── ServiceDetector.java │ │ │ ├── lock/ │ │ │ │ └── ReadWriteCASLock.java │ │ │ ├── producer/ │ │ │ │ ├── DefaultMQProducer.java │ │ │ │ ├── LocalTransactionState.java │ │ │ │ ├── MQProducer.java │ │ │ │ ├── MessageQueueSelector.java │ │ │ │ ├── ProduceAccumulator.java │ │ │ │ ├── RequestCallback.java │ │ │ │ ├── RequestFutureHolder.java │ │ │ │ ├── RequestResponseFuture.java │ │ │ │ ├── SendCallback.java │ │ │ │ ├── SendResult.java │ │ │ │ ├── SendStatus.java │ │ │ │ ├── TransactionCheckListener.java │ │ │ │ ├── TransactionListener.java │ │ │ │ ├── TransactionMQProducer.java │ │ │ │ ├── TransactionSendResult.java │ │ │ │ └── selector/ │ │ │ │ ├── SelectMessageQueueByHash.java │ │ │ │ ├── SelectMessageQueueByMachineRoom.java │ │ │ │ └── SelectMessageQueueByRandom.java │ │ │ ├── rpchook/ │ │ │ │ └── NamespaceRpcHook.java │ │ │ ├── stat/ │ │ │ │ └── ConsumerStatsManager.java │ │ │ ├── trace/ │ │ │ │ ├── AsyncTraceDispatcher.java │ │ │ │ ├── TraceBean.java │ │ │ │ ├── TraceConstants.java │ │ │ │ ├── TraceContext.java │ │ │ │ ├── TraceDataEncoder.java │ │ │ │ ├── TraceDispatcher.java │ │ │ │ ├── TraceDispatcherType.java │ │ │ │ ├── TraceTransferBean.java │ │ │ │ ├── TraceType.java │ │ │ │ ├── TraceView.java │ │ │ │ └── hook/ │ │ │ │ ├── ConsumeMessageOpenTracingHookImpl.java │ │ │ │ ├── ConsumeMessageTraceHookImpl.java │ │ │ │ ├── DefaultRecallMessageTraceHook.java │ │ │ │ ├── EndTransactionOpenTracingHookImpl.java │ │ │ │ ├── EndTransactionTraceHookImpl.java │ │ │ │ ├── SendMessageOpenTracingHookImpl.java │ │ │ │ └── SendMessageTraceHookImpl.java │ │ │ └── utils/ │ │ │ └── MessageUtil.java │ │ └── resources/ │ │ └── rmq.client.logback.xml │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ ├── acl/ │ │ │ └── common/ │ │ │ ├── AclClientRPCHookTest.java │ │ │ ├── AclSignerTest.java │ │ │ ├── AclUtilsTest.java │ │ │ ├── PermissionTest.java │ │ │ └── SessionCredentialsTest.java │ │ └── client/ │ │ ├── ClientConfigTest.java │ │ ├── ValidatorsTest.java │ │ ├── common/ │ │ │ └── ThreadLocalIndexTest.java │ │ ├── consumer/ │ │ │ ├── DefaultLitePullConsumerTest.java │ │ │ ├── DefaultMQPullConsumerTest.java │ │ │ ├── DefaultMQPushConsumerTest.java │ │ │ ├── rebalance/ │ │ │ │ ├── AllocateMachineRoomNearByTest.java │ │ │ │ ├── AllocateMessageQueueAveragelyByCircleTest.java │ │ │ │ ├── AllocateMessageQueueAveragelyTest.java │ │ │ │ ├── AllocateMessageQueueByConfigTest.java │ │ │ │ ├── AllocateMessageQueueByMachineRoomTest.java │ │ │ │ └── AllocateMessageQueueConsitentHashTest.java │ │ │ └── store/ │ │ │ ├── ControllableOffsetTest.java │ │ │ ├── LocalFileOffsetStoreTest.java │ │ │ └── RemoteBrokerOffsetStoreTest.java │ │ ├── impl/ │ │ │ ├── ClientRemotingProcessorTest.java │ │ │ ├── MQAdminImplTest.java │ │ │ ├── MQClientAPIImplTest.java │ │ │ ├── admin/ │ │ │ │ └── MqClientAdminImplTest.java │ │ │ ├── consumer/ │ │ │ │ ├── ConsumeMessageConcurrentlyServiceTest.java │ │ │ │ ├── ConsumeMessageOrderlyServiceTest.java │ │ │ │ ├── ConsumeMessagePopConcurrentlyServiceTest.java │ │ │ │ ├── ConsumeMessagePopOrderlyServiceTest.java │ │ │ │ ├── DefaultLitePullConsumerImplTest.java │ │ │ │ ├── DefaultMQPushConsumerImplTest.java │ │ │ │ ├── PopProcessQueueTest.java │ │ │ │ ├── ProcessQueueTest.java │ │ │ │ ├── PullAPIWrapperTest.java │ │ │ │ ├── PullMessageServiceTest.java │ │ │ │ ├── RebalanceLitePullImplTest.java │ │ │ │ └── RebalancePushImplTest.java │ │ │ ├── factory/ │ │ │ │ └── MQClientInstanceTest.java │ │ │ └── mqclient/ │ │ │ ├── MQClientAPIExtTest.java │ │ │ └── MQClientAPITest.java │ │ ├── latency/ │ │ │ └── LatencyFaultToleranceImplTest.java │ │ ├── producer/ │ │ │ ├── DefaultMQProducerTest.java │ │ │ ├── ProduceAccumulatorTest.java │ │ │ ├── RequestResponseFutureTest.java │ │ │ ├── SendResultTest.java │ │ │ └── selector/ │ │ │ ├── DefaultMQProducerImplTest.java │ │ │ ├── SelectMessageQueueByHashTest.java │ │ │ ├── SelectMessageQueueByRandomTest.java │ │ │ └── SelectMessageQueueRetryTest.java │ │ ├── rpchook/ │ │ │ └── NamespaceRpcHookTest.java │ │ ├── trace/ │ │ │ ├── DefaultMQConsumerWithOpenTracingTest.java │ │ │ ├── DefaultMQConsumerWithTraceTest.java │ │ │ ├── DefaultMQLitePullConsumerWithTraceTest.java │ │ │ ├── DefaultMQProducerWithOpenTracingTest.java │ │ │ ├── DefaultMQProducerWithTraceTest.java │ │ │ ├── TraceDataEncoderTest.java │ │ │ ├── TraceViewTest.java │ │ │ ├── TransactionMQProducerWithOpenTracingTest.java │ │ │ └── TransactionMQProducerWithTraceTest.java │ │ └── utils/ │ │ └── MessageUtilsTest.java │ └── resources/ │ ├── acl_hook/ │ │ └── plain_acl.yml │ ├── conf/ │ │ └── plain_acl_incomplete.yml │ ├── org/ │ │ └── powermock/ │ │ └── extensions/ │ │ └── configuration.properties │ └── rmq.logback-test.xml ├── common/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── rocketmq/ │ │ │ └── common/ │ │ │ ├── AbortProcessException.java │ │ │ ├── BoundaryType.java │ │ │ ├── BrokerConfig.java │ │ │ ├── BrokerConfigSingleton.java │ │ │ ├── BrokerIdentity.java │ │ │ ├── CheckRocksdbCqWriteResult.java │ │ │ ├── ConfigManager.java │ │ │ ├── ControllerConfig.java │ │ │ ├── CountDownLatch2.java │ │ │ ├── JraftConfig.java │ │ │ ├── KeyBuilder.java │ │ │ ├── LifecycleAwareServiceThread.java │ │ │ ├── LockCallback.java │ │ │ ├── MQVersion.java │ │ │ ├── MixAll.java │ │ │ ├── ObjectCreator.java │ │ │ ├── OrderedConsumptionLevel.java │ │ │ ├── Pair.java │ │ │ ├── PopAckConstants.java │ │ │ ├── ServiceState.java │ │ │ ├── ServiceThread.java │ │ │ ├── SubscriptionGroupAttributes.java │ │ │ ├── SystemClock.java │ │ │ ├── ThreadFactoryImpl.java │ │ │ ├── TopicAttributes.java │ │ │ ├── TopicConfig.java │ │ │ ├── TopicFilterType.java │ │ │ ├── TopicQueueId.java │ │ │ ├── UnlockCallback.java │ │ │ ├── UtilAll.java │ │ │ ├── action/ │ │ │ │ ├── Action.java │ │ │ │ └── RocketMQAction.java │ │ │ ├── annotation/ │ │ │ │ └── ImportantField.java │ │ │ ├── attribute/ │ │ │ │ ├── Attribute.java │ │ │ │ ├── AttributeParser.java │ │ │ │ ├── AttributeUtil.java │ │ │ │ ├── BooleanAttribute.java │ │ │ │ ├── CQType.java │ │ │ │ ├── CleanupPolicy.java │ │ │ │ ├── EnumAttribute.java │ │ │ │ ├── LiteSubModel.java │ │ │ │ ├── LongRangeAttribute.java │ │ │ │ ├── StringAttribute.java │ │ │ │ └── TopicMessageType.java │ │ │ ├── chain/ │ │ │ │ ├── Handler.java │ │ │ │ └── HandlerChain.java │ │ │ ├── coldctr/ │ │ │ │ └── AccAndTimeStamp.java │ │ │ ├── compression/ │ │ │ │ ├── CompressionType.java │ │ │ │ ├── Compressor.java │ │ │ │ ├── CompressorFactory.java │ │ │ │ ├── Lz4Compressor.java │ │ │ │ ├── ZlibCompressor.java │ │ │ │ └── ZstdCompressor.java │ │ │ ├── config/ │ │ │ │ ├── AbstractRocksDBStorage.java │ │ │ │ ├── ConfigHelper.java │ │ │ │ ├── ConfigManagerVersion.java │ │ │ │ └── ConfigRocksDBStorage.java │ │ │ ├── consistenthash/ │ │ │ │ ├── ConsistentHashRouter.java │ │ │ │ ├── HashFunction.java │ │ │ │ ├── Node.java │ │ │ │ └── VirtualNode.java │ │ │ ├── constant/ │ │ │ │ ├── CommonConstants.java │ │ │ │ ├── ConsumeInitMode.java │ │ │ │ ├── DBMsgConstants.java │ │ │ │ ├── FIleReadaheadMode.java │ │ │ │ ├── GrpcConstants.java │ │ │ │ ├── HAProxyConstants.java │ │ │ │ ├── LoggerName.java │ │ │ │ └── PermName.java │ │ │ ├── consumer/ │ │ │ │ ├── ConsumeFromWhere.java │ │ │ │ └── ReceiptHandle.java │ │ │ ├── entity/ │ │ │ │ ├── ClientGroup.java │ │ │ │ └── TopicGroup.java │ │ │ ├── fastjson/ │ │ │ │ └── GenericMapSuperclassDeserializer.java │ │ │ ├── filter/ │ │ │ │ ├── ExpressionType.java │ │ │ │ ├── FilterContext.java │ │ │ │ ├── MessageFilter.java │ │ │ │ └── impl/ │ │ │ │ ├── Op.java │ │ │ │ ├── Operand.java │ │ │ │ ├── Operator.java │ │ │ │ ├── PolishExpr.java │ │ │ │ └── Type.java │ │ │ ├── future/ │ │ │ │ └── FutureTaskExt.java │ │ │ ├── help/ │ │ │ │ └── FAQUrl.java │ │ │ ├── hook/ │ │ │ │ └── FilterCheckHook.java │ │ │ ├── lite/ │ │ │ │ ├── LiteLagInfo.java │ │ │ │ ├── LiteSubscription.java │ │ │ │ ├── LiteSubscriptionAction.java │ │ │ │ ├── LiteSubscriptionDTO.java │ │ │ │ ├── LiteUtil.java │ │ │ │ └── OffsetOption.java │ │ │ ├── logging/ │ │ │ │ ├── DefaultJoranConfiguratorExt.java │ │ │ │ └── JoranConfiguratorExt.java │ │ │ ├── message/ │ │ │ │ ├── Message.java │ │ │ │ ├── MessageAccessor.java │ │ │ │ ├── MessageBatch.java │ │ │ │ ├── MessageClientExt.java │ │ │ │ ├── MessageClientIDSetter.java │ │ │ │ ├── MessageConst.java │ │ │ │ ├── MessageDecoder.java │ │ │ │ ├── MessageExt.java │ │ │ │ ├── MessageExtBatch.java │ │ │ │ ├── MessageExtBrokerInner.java │ │ │ │ ├── MessageId.java │ │ │ │ ├── MessageQueue.java │ │ │ │ ├── MessageQueueAssignment.java │ │ │ │ ├── MessageQueueForC.java │ │ │ │ ├── MessageRequestMode.java │ │ │ │ ├── MessageType.java │ │ │ │ └── MessageVersion.java │ │ │ ├── metrics/ │ │ │ │ ├── MetricsExporterType.java │ │ │ │ ├── NopLongCounter.java │ │ │ │ ├── NopLongHistogram.java │ │ │ │ ├── NopLongUpDownCounter.java │ │ │ │ ├── NopObservableDoubleGauge.java │ │ │ │ └── NopObservableLongGauge.java │ │ │ ├── namesrv/ │ │ │ │ ├── DefaultTopAddressing.java │ │ │ │ ├── NameServerUpdateCallback.java │ │ │ │ ├── NamesrvConfig.java │ │ │ │ ├── NamesrvUtil.java │ │ │ │ └── TopAddressing.java │ │ │ ├── producer/ │ │ │ │ └── RecallMessageHandle.java │ │ │ ├── queue/ │ │ │ │ ├── ConcurrentTreeMap.java │ │ │ │ └── RoundQueue.java │ │ │ ├── resource/ │ │ │ │ ├── ResourcePattern.java │ │ │ │ ├── ResourceType.java │ │ │ │ └── RocketMQResource.java │ │ │ ├── running/ │ │ │ │ └── RunningStats.java │ │ │ ├── state/ │ │ │ │ └── StateEventListener.java │ │ │ ├── statistics/ │ │ │ │ ├── FutureHolder.java │ │ │ │ ├── Interceptor.java │ │ │ │ ├── StatisticsBrief.java │ │ │ │ ├── StatisticsBriefInterceptor.java │ │ │ │ ├── StatisticsItem.java │ │ │ │ ├── StatisticsItemFormatter.java │ │ │ │ ├── StatisticsItemPrinter.java │ │ │ │ ├── StatisticsItemScheduledIncrementPrinter.java │ │ │ │ ├── StatisticsItemScheduledPrinter.java │ │ │ │ ├── StatisticsItemStateGetter.java │ │ │ │ ├── StatisticsKindMeta.java │ │ │ │ └── StatisticsManager.java │ │ │ ├── stats/ │ │ │ │ ├── MomentStatsItem.java │ │ │ │ ├── MomentStatsItemSet.java │ │ │ │ ├── RTStatsItem.java │ │ │ │ ├── Stats.java │ │ │ │ ├── StatsItem.java │ │ │ │ ├── StatsItemSet.java │ │ │ │ └── StatsSnapshot.java │ │ │ ├── sysflag/ │ │ │ │ ├── MessageSysFlag.java │ │ │ │ ├── PullSysFlag.java │ │ │ │ ├── SubscriptionSysFlag.java │ │ │ │ └── TopicSysFlag.java │ │ │ ├── thread/ │ │ │ │ ├── FutureTaskExtThreadPoolExecutor.java │ │ │ │ ├── ThreadPoolMonitor.java │ │ │ │ ├── ThreadPoolQueueSizeMonitor.java │ │ │ │ ├── ThreadPoolStatusMonitor.java │ │ │ │ └── ThreadPoolWrapper.java │ │ │ ├── topic/ │ │ │ │ └── TopicValidator.java │ │ │ └── utils/ │ │ │ ├── AbstractStartAndShutdown.java │ │ │ ├── AsyncShutdownHelper.java │ │ │ ├── BinaryUtil.java │ │ │ ├── ChannelUtil.java │ │ │ ├── CheckpointFile.java │ │ │ ├── CleanupPolicyUtils.java │ │ │ ├── ConcurrentHashMapUtils.java │ │ │ ├── CorrelationIdUtil.java │ │ │ ├── DataConverter.java │ │ │ ├── ExceptionUtils.java │ │ │ ├── FastJsonSerializer.java │ │ │ ├── FutureUtils.java │ │ │ ├── HttpTinyClient.java │ │ │ ├── IOTinyUtils.java │ │ │ ├── IPAddressUtils.java │ │ │ ├── MessageUtils.java │ │ │ ├── NameServerAddressUtils.java │ │ │ ├── NetworkUtil.java │ │ │ ├── PositiveAtomicCounter.java │ │ │ ├── QueueTypeUtils.java │ │ │ ├── Serializer.java │ │ │ ├── ServiceProvider.java │ │ │ ├── Shutdown.java │ │ │ ├── Start.java │ │ │ ├── StartAndShutdown.java │ │ │ └── ThreadUtils.java │ │ └── resources/ │ │ └── META-INF/ │ │ └── services/ │ │ └── org.apache.rocketmq.logging.ch.qos.logback.classic.spi.Configurator │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── common/ │ │ ├── BrokerConfigSingletonTest.java │ │ ├── BrokerConfigTest.java │ │ ├── ConfigManagerTest.java │ │ ├── CountDownLatch2Test.java │ │ ├── KeyBuilderTest.java │ │ ├── MQVersionTest.java │ │ ├── MessageBatchTest.java │ │ ├── MessageEncodeDecodeTest.java │ │ ├── MessageExtBrokerInnerTest.java │ │ ├── MixAllTest.java │ │ ├── NetworkUtilTest.java │ │ ├── ServiceThreadTest.java │ │ ├── TopicConfigTest.java │ │ ├── UtilAllTest.java │ │ ├── action/ │ │ │ ├── ActionTest.java │ │ │ └── RocketMQActionTest.java │ │ ├── attribute/ │ │ │ ├── AttributeParserTest.java │ │ │ ├── AttributeTest.java │ │ │ ├── AttributeUtilTest.java │ │ │ ├── BooleanAttributeTest.java │ │ │ ├── CQTypeTest.java │ │ │ ├── CleanupPolicyTest.java │ │ │ ├── EnumAttributeTest.java │ │ │ ├── LongRangeAttributeTest.java │ │ │ └── TopicMessageTypeTest.java │ │ ├── chain/ │ │ │ └── HandlerChainTest.java │ │ ├── coldctr/ │ │ │ └── AccAndTimeStampTest.java │ │ ├── compression/ │ │ │ ├── CompressionTest.java │ │ │ ├── CompressionTypeTest.java │ │ │ ├── CompressorFactoryTest.java │ │ │ ├── Lz4CompressorTest.java │ │ │ ├── ZlibCompressorTest.java │ │ │ └── ZstdCompressorTest.java │ │ ├── config/ │ │ │ └── ConfigHelperTest.java │ │ ├── consumer/ │ │ │ └── ReceiptHandleTest.java │ │ ├── fastjson/ │ │ │ └── GenericMapSuperclassDeserializerTest.java │ │ ├── help/ │ │ │ └── FAQUrlTest.java │ │ ├── message/ │ │ │ ├── MessageClientIDSetterTest.java │ │ │ ├── MessageDecoderTest.java │ │ │ └── MessageTest.java │ │ ├── producer/ │ │ │ └── RecallMessageHandleTest.java │ │ ├── stats/ │ │ │ └── StatsItemSetTest.java │ │ ├── sysflag/ │ │ │ ├── CompressionFlagTest.java │ │ │ └── PullSysFlagTest.java │ │ ├── topic/ │ │ │ └── TopicValidatorTest.java │ │ └── utils/ │ │ ├── ConcurrentHashMapUtilsTest.java │ │ ├── IOTinyUtilsTest.java │ │ ├── IPAddressUtilsTest.java │ │ ├── LiteUtilTest.java │ │ └── NameServerAddressUtilsTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── container/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── container/ │ │ ├── BrokerBootHook.java │ │ ├── BrokerContainer.java │ │ ├── BrokerContainerConfig.java │ │ ├── BrokerContainerProcessor.java │ │ ├── BrokerContainerStartup.java │ │ ├── ContainerClientHouseKeepingService.java │ │ ├── IBrokerContainer.java │ │ ├── InnerBrokerController.java │ │ └── InnerSalveBrokerController.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── container/ │ │ ├── BrokerContainerExtensibilityTest.java │ │ ├── BrokerContainerStartupTest.java │ │ ├── BrokerContainerTest.java │ │ └── BrokerPreOnlineServiceTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── controller/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── rocketmq/ │ │ │ └── controller/ │ │ │ ├── BrokerHeartbeatManager.java │ │ │ ├── BrokerHousekeepingService.java │ │ │ ├── Controller.java │ │ │ ├── ControllerManager.java │ │ │ ├── ControllerStartup.java │ │ │ ├── elect/ │ │ │ │ ├── ElectPolicy.java │ │ │ │ └── impl/ │ │ │ │ └── DefaultElectPolicy.java │ │ │ ├── helper/ │ │ │ │ ├── BrokerLifecycleListener.java │ │ │ │ ├── BrokerLiveInfoGetter.java │ │ │ │ └── BrokerValidPredicate.java │ │ │ ├── impl/ │ │ │ │ ├── DLedgerController.java │ │ │ │ ├── DLedgerControllerStateMachine.java │ │ │ │ ├── JRaftController.java │ │ │ │ ├── JRaftControllerStateMachine.java │ │ │ │ ├── closure/ │ │ │ │ │ └── ControllerClosure.java │ │ │ │ ├── event/ │ │ │ │ │ ├── AlterSyncStateSetEvent.java │ │ │ │ │ ├── ApplyBrokerIdEvent.java │ │ │ │ │ ├── CleanBrokerDataEvent.java │ │ │ │ │ ├── ControllerResult.java │ │ │ │ │ ├── ElectMasterEvent.java │ │ │ │ │ ├── EventMessage.java │ │ │ │ │ ├── EventSerializer.java │ │ │ │ │ ├── EventType.java │ │ │ │ │ ├── ListEventSerializer.java │ │ │ │ │ └── UpdateBrokerAddressEvent.java │ │ │ │ ├── heartbeat/ │ │ │ │ │ ├── BrokerIdentityInfo.java │ │ │ │ │ ├── BrokerLiveInfo.java │ │ │ │ │ ├── DefaultBrokerHeartbeatManager.java │ │ │ │ │ └── RaftBrokerHeartBeatManager.java │ │ │ │ ├── manager/ │ │ │ │ │ ├── BrokerReplicaInfo.java │ │ │ │ │ ├── RaftReplicasInfoManager.java │ │ │ │ │ ├── ReplicasInfoManager.java │ │ │ │ │ └── SyncStateInfo.java │ │ │ │ └── task/ │ │ │ │ ├── BrokerCloseChannelRequest.java │ │ │ │ ├── BrokerCloseChannelResponse.java │ │ │ │ ├── CheckNotActiveBrokerRequest.java │ │ │ │ ├── CheckNotActiveBrokerResponse.java │ │ │ │ ├── GetBrokerLiveInfoRequest.java │ │ │ │ ├── GetBrokerLiveInfoResponse.java │ │ │ │ ├── GetSyncStateDataRequest.java │ │ │ │ ├── RaftBrokerHeartBeatEventRequest.java │ │ │ │ └── RaftBrokerHeartBeatEventResponse.java │ │ │ ├── metrics/ │ │ │ │ ├── ControllerMetricsConstant.java │ │ │ │ └── ControllerMetricsManager.java │ │ │ └── processor/ │ │ │ └── ControllerRequestProcessor.java │ │ └── resources/ │ │ └── rmq.controller.logback.xml │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── controller/ │ │ ├── ControllerManagerTest.java │ │ ├── ControllerRequestProcessorTest.java │ │ ├── ControllerTestBase.java │ │ └── impl/ │ │ ├── DLedgerControllerTest.java │ │ ├── DefaultBrokerHeartbeatManagerTest.java │ │ ├── RaftBrokerHeartBeatManagerTest.java │ │ ├── event/ │ │ │ ├── EventSerializerTest.java │ │ │ └── ListEventSerializerTest.java │ │ ├── heartbeat/ │ │ │ └── RaftBrokerHeartBeatManagerTest.java │ │ └── manager/ │ │ ├── RaftReplicasInfoManagerTest.java │ │ └── ReplicasInfoManagerTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── dev/ │ └── merge_rocketmq_pr.py ├── distribution/ │ ├── LICENSE-BIN │ ├── NOTICE-BIN │ ├── benchmark/ │ │ ├── batchproducer.sh │ │ ├── consumer.sh │ │ ├── producer.sh │ │ ├── runclass.sh │ │ ├── shutdown.sh │ │ └── tproducer.sh │ ├── bin/ │ │ ├── README.md │ │ ├── cachedog.sh │ │ ├── cleancache.sh │ │ ├── cleancache.v1.sh │ │ ├── controller/ │ │ │ ├── fast-try-independent-deployment.cmd │ │ │ ├── fast-try-independent-deployment.sh │ │ │ ├── fast-try-namesrv-plugin.cmd │ │ │ ├── fast-try-namesrv-plugin.sh │ │ │ ├── fast-try.cmd │ │ │ └── fast-try.sh │ │ ├── dledger/ │ │ │ └── fast-try.sh │ │ ├── export.sh │ │ ├── mqadmin │ │ ├── mqadmin.cmd │ │ ├── mqbroker │ │ ├── mqbroker.cmd │ │ ├── mqbroker.numanode0 │ │ ├── mqbroker.numanode1 │ │ ├── mqbroker.numanode2 │ │ ├── mqbroker.numanode3 │ │ ├── mqbrokercontainer │ │ ├── mqcontroller │ │ ├── mqcontroller.cmd │ │ ├── mqnamesrv │ │ ├── mqnamesrv.cmd │ │ ├── mqproxy │ │ ├── mqproxy.cmd │ │ ├── mqshutdown │ │ ├── mqshutdown.cmd │ │ ├── os.sh │ │ ├── play.cmd │ │ ├── play.sh │ │ ├── runbroker.cmd │ │ ├── runbroker.sh │ │ ├── runserver.cmd │ │ ├── runserver.sh │ │ ├── setcache.sh │ │ ├── startfsrv.sh │ │ ├── tools.cmd │ │ └── tools.sh │ ├── conf/ │ │ ├── 2m-2s-async/ │ │ │ ├── broker-a-s.properties │ │ │ ├── broker-a.properties │ │ │ ├── broker-b-s.properties │ │ │ └── broker-b.properties │ │ ├── 2m-2s-sync/ │ │ │ ├── broker-a-s.properties │ │ │ ├── broker-a.properties │ │ │ ├── broker-b-s.properties │ │ │ └── broker-b.properties │ │ ├── 2m-noslave/ │ │ │ ├── broker-a.properties │ │ │ ├── broker-b.properties │ │ │ └── broker-trace.properties │ │ ├── broker.conf │ │ ├── container/ │ │ │ └── 2container-2m-2s/ │ │ │ ├── broker-a-in-container1.conf │ │ │ ├── broker-a-in-container2.conf │ │ │ ├── broker-b-in-container1.conf │ │ │ ├── broker-b-in-container2.conf │ │ │ ├── broker-container1.conf │ │ │ ├── broker-container2.conf │ │ │ └── nameserver.conf │ │ ├── controller/ │ │ │ ├── cluster-3n-independent/ │ │ │ │ ├── controller-n0.conf │ │ │ │ ├── controller-n1.conf │ │ │ │ └── controller-n2.conf │ │ │ ├── cluster-3n-namesrv-plugin/ │ │ │ │ ├── namesrv-n0.conf │ │ │ │ ├── namesrv-n1.conf │ │ │ │ └── namesrv-n2.conf │ │ │ ├── controller-standalone.conf │ │ │ └── quick-start/ │ │ │ ├── broker-n0.conf │ │ │ ├── broker-n1.conf │ │ │ └── namesrv.conf │ │ ├── dledger/ │ │ │ ├── broker-n0.conf │ │ │ ├── broker-n1.conf │ │ │ └── broker-n2.conf │ │ ├── rmq-proxy.json │ │ └── tools.yml │ ├── pom.xml │ ├── release-client.xml │ └── release.xml ├── docs/ │ ├── cn/ │ │ ├── BrokerContainer.md │ │ ├── Configuration_System.md │ │ ├── Configuration_TLS.md │ │ ├── Debug_In_Idea.md │ │ ├── Deployment.md │ │ ├── Example_Batch.md │ │ ├── Example_Compaction_Topic_cn.md │ │ ├── Example_CreateTopic.md │ │ ├── Example_Delay.md │ │ ├── Example_LMQ.md │ │ ├── Example_Simple_cn.md │ │ ├── FAQ.md │ │ ├── QuorumACK.md │ │ ├── README.md │ │ ├── RocketMQ_Example.md │ │ ├── SlaveActingMasterMode.md │ │ ├── acl/ │ │ │ ├── RocketMQ_Multiple_ACL_Files_设计.md │ │ │ └── user_guide.md │ │ ├── architecture.md │ │ ├── best_practice.md │ │ ├── client/ │ │ │ └── java/ │ │ │ ├── API_Reference_ DefaultPullConsumer.md │ │ │ └── API_Reference_DefaultMQProducer.md │ │ ├── concept.md │ │ ├── controller/ │ │ │ ├── deploy.md │ │ │ ├── design.md │ │ │ ├── persistent_unique_broker_id.md │ │ │ └── quick_start.md │ │ ├── design.md │ │ ├── dledger/ │ │ │ ├── deploy_guide.md │ │ │ └── quick_start.md │ │ ├── features.md │ │ ├── msg_trace/ │ │ │ └── user_guide.md │ │ ├── operation.md │ │ ├── proxy/ │ │ │ └── deploy_guide.md │ │ ├── rpc_request.md │ │ └── statictopic/ │ │ ├── RocketMQ_Static_Topic_Logic_Queue_设计.md │ │ └── The_Scope_Of_Static_Topic.md │ └── en/ │ ├── CLITools.md │ ├── Concept.md │ ├── Configuration_Client.md │ ├── Configuration_System.md │ ├── Configuration_TLS.md │ ├── Debug_In_Idea.md │ ├── Deployment.md │ ├── Design_Filter.md │ ├── Design_LoadBlancing.md │ ├── Design_Query.md │ ├── Design_Remoting.md │ ├── Design_Store.md │ ├── Design_Trancation.md │ ├── Example_Batch.md │ ├── Example_Compaction_Topic.md │ ├── Example_CreateTopic.md │ ├── Example_Delay.md │ ├── Example_Filter.md │ ├── Example_OpenMessaging.md │ ├── Example_Orderly.md │ ├── Example_Simple.md │ ├── Example_Transaction.md │ ├── FAQ.md │ ├── Feature.md │ ├── Operations_Broker.md │ ├── Operations_Consumer.md │ ├── Operations_Producer.md │ ├── Operations_Trace.md │ ├── QuorumACK.md │ ├── README.md │ ├── RocketMQ_Example.md │ ├── Troubleshoopting.md │ ├── acl/ │ │ └── Operations_ACL.md │ ├── architecture.md │ ├── best_practice.md │ ├── client/ │ │ └── java/ │ │ └── API_Reference_DefaultMQProducer.md │ ├── controller/ │ │ ├── deploy.md │ │ ├── design.md │ │ ├── persistent_unique_broker_id.md │ │ └── quick_start.md │ ├── design.md │ ├── dledger/ │ │ ├── deploy_guide.md │ │ └── quick_start.md │ ├── msg_trace/ │ │ └── user_guide.md │ ├── operation.md │ └── proxy/ │ └── deploy_guide.md ├── example/ │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── org/ │ └── apache/ │ └── rocketmq/ │ └── example/ │ ├── batch/ │ │ ├── SimpleBatchProducer.java │ │ └── SplitBatchProducer.java │ ├── benchmark/ │ │ ├── AclClient.java │ │ ├── BatchProducer.java │ │ ├── Consumer.java │ │ ├── Producer.java │ │ ├── TransactionProducer.java │ │ └── timer/ │ │ ├── TimerConsumer.java │ │ └── TimerProducer.java │ ├── broadcast/ │ │ └── PushConsumer.java │ ├── filter/ │ │ ├── SqlFilterConsumer.java │ │ ├── SqlFilterProducer.java │ │ ├── TagFilterConsumer.java │ │ └── TagFilterProducer.java │ ├── lmq/ │ │ ├── LMQProducer.java │ │ ├── LMQPullConsumer.java │ │ ├── LMQPushConsumer.java │ │ └── LMQPushPopConsumer.java │ ├── namespace/ │ │ ├── ProducerWithNamespace.java │ │ ├── PullConsumerWithNamespace.java │ │ └── PushConsumerWithNamespace.java │ ├── openmessaging/ │ │ ├── SimpleProducer.java │ │ ├── SimplePullConsumer.java │ │ └── SimplePushConsumer.java │ ├── operation/ │ │ ├── Consumer.java │ │ └── Producer.java │ ├── ordermessage/ │ │ ├── Consumer.java │ │ └── Producer.java │ ├── quickstart/ │ │ ├── Consumer.java │ │ └── Producer.java │ ├── rpc/ │ │ ├── AsyncRequestProducer.java │ │ ├── RequestProducer.java │ │ └── ResponseConsumer.java │ ├── schedule/ │ │ ├── ScheduledMessageConsumer.java │ │ ├── ScheduledMessageProducer.java │ │ ├── TimerMessageConsumer.java │ │ └── TimerMessageProducer.java │ ├── simple/ │ │ ├── AclClient.java │ │ ├── AsyncProducer.java │ │ ├── CachedQueue.java │ │ ├── LitePullConsumerAssign.java │ │ ├── LitePullConsumerAssignWithSubExpression.java │ │ ├── LitePullConsumerSubscribe.java │ │ ├── OnewayProducer.java │ │ ├── PopConsumer.java │ │ ├── Producer.java │ │ ├── PullConsumer.java │ │ ├── PullScheduleService.java │ │ ├── PushConsumer.java │ │ └── RandomAsyncCommit.java │ ├── tracemessage/ │ │ ├── OpenTracingProducer.java │ │ ├── OpenTracingPushConsumer.java │ │ ├── OpenTracingTransactionProducer.java │ │ ├── TraceProducer.java │ │ └── TracePushConsumer.java │ └── transaction/ │ ├── TransactionListenerImpl.java │ └── TransactionProducer.java ├── filter/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── filter/ │ │ ├── FilterFactory.java │ │ ├── FilterSpi.java │ │ ├── SqlFilter.java │ │ ├── constant/ │ │ │ └── UnaryType.java │ │ ├── expression/ │ │ │ ├── BinaryExpression.java │ │ │ ├── BooleanConstantExpression.java │ │ │ ├── BooleanExpression.java │ │ │ ├── ComparisonExpression.java │ │ │ ├── ConstantExpression.java │ │ │ ├── EmptyEvaluationContext.java │ │ │ ├── EvaluationContext.java │ │ │ ├── Expression.java │ │ │ ├── LogicExpression.java │ │ │ ├── MQFilterException.java │ │ │ ├── NowExpression.java │ │ │ ├── PropertyExpression.java │ │ │ ├── UnaryExpression.java │ │ │ └── UnaryInExpression.java │ │ ├── parser/ │ │ │ ├── ParseException.java │ │ │ ├── SelectorParser.java │ │ │ ├── SelectorParser.jj │ │ │ ├── SelectorParserConstants.java │ │ │ ├── SelectorParserTokenManager.java │ │ │ ├── SimpleCharStream.java │ │ │ ├── Token.java │ │ │ └── TokenMgrError.java │ │ └── util/ │ │ ├── BitsArray.java │ │ ├── BloomFilter.java │ │ └── BloomFilterData.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── filter/ │ │ ├── BitsArrayTest.java │ │ ├── BloomFilterTest.java │ │ ├── ExpressionTest.java │ │ ├── FilterSpiTest.java │ │ └── ParserTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── namesrv/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── rocketmq/ │ │ │ └── namesrv/ │ │ │ ├── NamesrvController.java │ │ │ ├── NamesrvStartup.java │ │ │ ├── kvconfig/ │ │ │ │ ├── KVConfigManager.java │ │ │ │ └── KVConfigSerializeWrapper.java │ │ │ ├── processor/ │ │ │ │ ├── ClientRequestProcessor.java │ │ │ │ ├── ClusterTestRequestProcessor.java │ │ │ │ └── DefaultRequestProcessor.java │ │ │ ├── route/ │ │ │ │ └── ZoneRouteRPCHook.java │ │ │ └── routeinfo/ │ │ │ ├── BatchUnregistrationService.java │ │ │ ├── BrokerHousekeepingService.java │ │ │ └── RouteInfoManager.java │ │ └── resources/ │ │ └── rmq.namesrv.logback.xml │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── namesrv/ │ │ ├── NameServerInstanceTest.java │ │ ├── NamesrvControllerTest.java │ │ ├── NamesrvStartupTest.java │ │ ├── kvconfig/ │ │ │ ├── KVConfigManagerTest.java │ │ │ └── KVConfigSerializeWrapperTest.java │ │ ├── processor/ │ │ │ ├── ClientRequestProcessorTest.java │ │ │ ├── ClusterTestRequestProcessorTest.java │ │ │ └── RequestProcessorTest.java │ │ ├── route/ │ │ │ ├── ZoneRouteRPCHookMoreTest.java │ │ │ └── ZoneRouteRPCHookTest.java │ │ └── routeinfo/ │ │ ├── BrokerHousekeepingServiceTest.java │ │ ├── GetRouteInfoBenchmark.java │ │ ├── RegisterBrokerBenchmark.java │ │ ├── RouteInfoManagerBrokerPermTest.java │ │ ├── RouteInfoManagerBrokerRegisterTest.java │ │ ├── RouteInfoManagerNewTest.java │ │ ├── RouteInfoManagerStaticRegisterTest.java │ │ ├── RouteInfoManagerTest.java │ │ └── RouteInfoManagerTestBase.java │ └── resources/ │ └── rmq.logback-test.xml ├── openmessaging/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── io/ │ │ └── openmessaging/ │ │ └── rocketmq/ │ │ ├── MessagingAccessPointImpl.java │ │ ├── config/ │ │ │ └── ClientConfig.java │ │ ├── consumer/ │ │ │ ├── LocalMessageCache.java │ │ │ ├── PullConsumerImpl.java │ │ │ └── PushConsumerImpl.java │ │ ├── domain/ │ │ │ ├── BytesMessageImpl.java │ │ │ ├── ConsumeRequest.java │ │ │ ├── NonStandardKeys.java │ │ │ ├── RocketMQConstants.java │ │ │ └── SendResultImpl.java │ │ ├── producer/ │ │ │ ├── AbstractOMSProducer.java │ │ │ └── ProducerImpl.java │ │ ├── promise/ │ │ │ ├── DefaultPromise.java │ │ │ └── FutureState.java │ │ └── utils/ │ │ ├── BeanUtils.java │ │ └── OMSUtil.java │ └── test/ │ ├── java/ │ │ └── io/ │ │ └── openmessaging/ │ │ └── rocketmq/ │ │ ├── consumer/ │ │ │ ├── LocalMessageCacheTest.java │ │ │ ├── PullConsumerImplTest.java │ │ │ └── PushConsumerImplTest.java │ │ ├── producer/ │ │ │ └── ProducerImplTest.java │ │ ├── promise/ │ │ │ └── DefaultPromiseTest.java │ │ └── utils/ │ │ └── BeanUtilsTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── pom.xml ├── proxy/ │ ├── BUILD.bazel │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── org/ │ │ │ └── apache/ │ │ │ └── rocketmq/ │ │ │ └── proxy/ │ │ │ ├── CommandLineArgument.java │ │ │ ├── ProxyMode.java │ │ │ ├── ProxyStartup.java │ │ │ ├── auth/ │ │ │ │ ├── ProxyAuthenticationMetadataProvider.java │ │ │ │ └── ProxyAuthorizationMetadataProvider.java │ │ │ ├── common/ │ │ │ │ ├── AbstractCacheLoader.java │ │ │ │ ├── Address.java │ │ │ │ ├── ContextVariable.java │ │ │ │ ├── MessageReceiptHandle.java │ │ │ │ ├── ProxyContext.java │ │ │ │ ├── ProxyException.java │ │ │ │ ├── ProxyExceptionCode.java │ │ │ │ ├── ReceiptHandleGroup.java │ │ │ │ ├── ReceiptHandleGroupKey.java │ │ │ │ ├── RenewEvent.java │ │ │ │ ├── RenewStrategyPolicy.java │ │ │ │ ├── channel/ │ │ │ │ │ └── ChannelHelper.java │ │ │ │ └── utils/ │ │ │ │ ├── FilterUtils.java │ │ │ │ ├── GrpcUtils.java │ │ │ │ └── ProxyUtils.java │ │ │ ├── config/ │ │ │ │ ├── ConfigFile.java │ │ │ │ ├── Configuration.java │ │ │ │ ├── ConfigurationManager.java │ │ │ │ ├── MetricCollectorMode.java │ │ │ │ └── ProxyConfig.java │ │ │ ├── grpc/ │ │ │ │ ├── GrpcServer.java │ │ │ │ ├── GrpcServerBuilder.java │ │ │ │ ├── ProxyAndTlsProtocolNegotiator.java │ │ │ │ ├── constant/ │ │ │ │ │ └── AttributeKeys.java │ │ │ │ ├── interceptor/ │ │ │ │ │ ├── ContextInterceptor.java │ │ │ │ │ ├── GlobalExceptionInterceptor.java │ │ │ │ │ ├── HeaderInterceptor.java │ │ │ │ │ └── RequestMapping.java │ │ │ │ ├── pipeline/ │ │ │ │ │ ├── AuthenticationPipeline.java │ │ │ │ │ ├── AuthorizationPipeline.java │ │ │ │ │ ├── ContextInitPipeline.java │ │ │ │ │ └── RequestPipeline.java │ │ │ │ └── v2/ │ │ │ │ ├── AbstractMessagingActivity.java │ │ │ │ ├── ContextStreamObserver.java │ │ │ │ ├── DefaultGrpcMessagingActivity.java │ │ │ │ ├── GrpcMessagingActivity.java │ │ │ │ ├── GrpcMessagingApplication.java │ │ │ │ ├── channel/ │ │ │ │ │ ├── GrpcChannelManager.java │ │ │ │ │ └── GrpcClientChannel.java │ │ │ │ ├── client/ │ │ │ │ │ └── ClientActivity.java │ │ │ │ ├── common/ │ │ │ │ │ ├── GrpcClientSettingsManager.java │ │ │ │ │ ├── GrpcConverter.java │ │ │ │ │ ├── GrpcProxyException.java │ │ │ │ │ ├── GrpcValidator.java │ │ │ │ │ ├── ResponseBuilder.java │ │ │ │ │ └── ResponseWriter.java │ │ │ │ ├── consumer/ │ │ │ │ │ ├── AckMessageActivity.java │ │ │ │ │ ├── ChangeInvisibleDurationActivity.java │ │ │ │ │ ├── PopMessageResultFilterImpl.java │ │ │ │ │ ├── ReceiveMessageActivity.java │ │ │ │ │ └── ReceiveMessageResponseStreamWriter.java │ │ │ │ ├── producer/ │ │ │ │ │ ├── ForwardMessageToDLQActivity.java │ │ │ │ │ ├── RecallMessageActivity.java │ │ │ │ │ └── SendMessageActivity.java │ │ │ │ ├── route/ │ │ │ │ │ └── RouteActivity.java │ │ │ │ └── transaction/ │ │ │ │ └── EndTransactionActivity.java │ │ │ ├── metrics/ │ │ │ │ ├── ProxyMetricsConstant.java │ │ │ │ └── ProxyMetricsManager.java │ │ │ ├── processor/ │ │ │ │ ├── AbstractProcessor.java │ │ │ │ ├── BatchAckResult.java │ │ │ │ ├── ClientProcessor.java │ │ │ │ ├── ConsumerProcessor.java │ │ │ │ ├── DefaultMessagingProcessor.java │ │ │ │ ├── MessagingProcessor.java │ │ │ │ ├── PopMessageResultFilter.java │ │ │ │ ├── ProducerProcessor.java │ │ │ │ ├── QueueSelector.java │ │ │ │ ├── ReceiptHandleProcessor.java │ │ │ │ ├── RequestBrokerProcessor.java │ │ │ │ ├── TransactionProcessor.java │ │ │ │ ├── TransactionStatus.java │ │ │ │ ├── channel/ │ │ │ │ │ ├── ChannelExtendAttributeGetter.java │ │ │ │ │ ├── ChannelProtocolType.java │ │ │ │ │ ├── RemoteChannel.java │ │ │ │ │ ├── RemoteChannelConverter.java │ │ │ │ │ └── RemoteChannelSerializer.java │ │ │ │ └── validator/ │ │ │ │ ├── DefaultTopicMessageTypeValidator.java │ │ │ │ └── TopicMessageTypeValidator.java │ │ │ ├── remoting/ │ │ │ │ ├── ClientHousekeepingService.java │ │ │ │ ├── MultiProtocolRemotingServer.java │ │ │ │ ├── MultiProtocolTlsHelper.java │ │ │ │ ├── RemotingProtocolServer.java │ │ │ │ ├── RemotingProxyOutClient.java │ │ │ │ ├── activity/ │ │ │ │ │ ├── AbstractRemotingActivity.java │ │ │ │ │ ├── AckMessageActivity.java │ │ │ │ │ ├── ChangeInvisibleTimeActivity.java │ │ │ │ │ ├── ClientManagerActivity.java │ │ │ │ │ ├── ConsumerManagerActivity.java │ │ │ │ │ ├── GetTopicRouteActivity.java │ │ │ │ │ ├── PopMessageActivity.java │ │ │ │ │ ├── PullMessageActivity.java │ │ │ │ │ ├── RecallMessageActivity.java │ │ │ │ │ ├── SendMessageActivity.java │ │ │ │ │ └── TransactionActivity.java │ │ │ │ ├── channel/ │ │ │ │ │ ├── RemotingChannel.java │ │ │ │ │ └── RemotingChannelManager.java │ │ │ │ ├── common/ │ │ │ │ │ └── RemotingConverter.java │ │ │ │ ├── pipeline/ │ │ │ │ │ ├── AuthenticationPipeline.java │ │ │ │ │ ├── AuthorizationPipeline.java │ │ │ │ │ ├── ContextInitPipeline.java │ │ │ │ │ └── RequestPipeline.java │ │ │ │ └── protocol/ │ │ │ │ ├── ProtocolHandler.java │ │ │ │ ├── ProtocolNegotiationHandler.java │ │ │ │ ├── http2proxy/ │ │ │ │ │ ├── HAProxyMessageForwarder.java │ │ │ │ │ ├── Http2ProtocolProxyHandler.java │ │ │ │ │ ├── Http2ProxyBackendHandler.java │ │ │ │ │ └── Http2ProxyFrontendHandler.java │ │ │ │ └── remoting/ │ │ │ │ └── RemotingProtocolHandler.java │ │ │ └── service/ │ │ │ ├── ClusterServiceManager.java │ │ │ ├── LocalServiceManager.java │ │ │ ├── ServiceManager.java │ │ │ ├── ServiceManagerFactory.java │ │ │ ├── admin/ │ │ │ │ ├── AdminService.java │ │ │ │ └── DefaultAdminService.java │ │ │ ├── cert/ │ │ │ │ └── TlsCertificateManager.java │ │ │ ├── channel/ │ │ │ │ ├── ChannelManager.java │ │ │ │ ├── InvocationChannel.java │ │ │ │ ├── InvocationContext.java │ │ │ │ ├── InvocationContextInterface.java │ │ │ │ ├── SimpleChannel.java │ │ │ │ └── SimpleChannelHandlerContext.java │ │ │ ├── client/ │ │ │ │ ├── ClusterConsumerManager.java │ │ │ │ └── ProxyClientRemotingProcessor.java │ │ │ ├── lite/ │ │ │ │ └── LiteSubscriptionService.java │ │ │ ├── message/ │ │ │ │ ├── ClusterMessageService.java │ │ │ │ ├── LocalMessageService.java │ │ │ │ ├── LocalRemotingCommand.java │ │ │ │ ├── MessageService.java │ │ │ │ └── ReceiptHandleMessage.java │ │ │ ├── metadata/ │ │ │ │ ├── ClusterMetadataService.java │ │ │ │ ├── LocalMetadataService.java │ │ │ │ └── MetadataService.java │ │ │ ├── receipt/ │ │ │ │ ├── DefaultReceiptHandleManager.java │ │ │ │ └── ReceiptHandleManager.java │ │ │ ├── relay/ │ │ │ │ ├── AbstractProxyRelayService.java │ │ │ │ ├── ClusterProxyRelayService.java │ │ │ │ ├── LocalProxyRelayService.java │ │ │ │ ├── ProxyChannel.java │ │ │ │ ├── ProxyRelayResult.java │ │ │ │ ├── ProxyRelayService.java │ │ │ │ └── RelayData.java │ │ │ ├── route/ │ │ │ │ ├── AddressableMessageQueue.java │ │ │ │ ├── ClusterTopicRouteService.java │ │ │ │ ├── DefaultMessageQueuePriorityProvider.java │ │ │ │ ├── LocalTopicRouteService.java │ │ │ │ ├── MessageQueuePenalizer.java │ │ │ │ ├── MessageQueuePriorityProvider.java │ │ │ │ ├── MessageQueueSelector.java │ │ │ │ ├── MessageQueueView.java │ │ │ │ ├── ProxyTopicRouteData.java │ │ │ │ ├── TopicRouteHelper.java │ │ │ │ ├── TopicRouteService.java │ │ │ │ └── TopicRouteWrapper.java │ │ │ ├── sysmessage/ │ │ │ │ ├── AbstractSystemMessageSyncer.java │ │ │ │ ├── HeartbeatSyncer.java │ │ │ │ ├── HeartbeatSyncerData.java │ │ │ │ └── HeartbeatType.java │ │ │ └── transaction/ │ │ │ ├── AbstractTransactionService.java │ │ │ ├── ClusterTransactionService.java │ │ │ ├── EndTransactionRequestData.java │ │ │ ├── LocalTransactionService.java │ │ │ ├── TransactionData.java │ │ │ ├── TransactionDataManager.java │ │ │ └── TransactionService.java │ │ └── resources/ │ │ └── rmq.proxy.logback.xml │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── proxy/ │ │ ├── ProxyStartupTest.java │ │ ├── common/ │ │ │ ├── AddressTest.java │ │ │ ├── ReceiptHandleGroupTest.java │ │ │ ├── RenewStrategyPolicyTest.java │ │ │ └── utils/ │ │ │ └── FilterUtilTest.java │ │ ├── config/ │ │ │ ├── ConfigurationManagerTest.java │ │ │ ├── ConfigurationTest.java │ │ │ ├── InitConfigTest.java │ │ │ └── MetricCollectorModeTest.java │ │ ├── grpc/ │ │ │ ├── ProxyAndTlsProtocolNegotiatorTest.java │ │ │ └── v2/ │ │ │ ├── AbstractMessagingActivityTest.java │ │ │ ├── BaseActivityTest.java │ │ │ ├── GrpcMessagingApplicationTest.java │ │ │ ├── channel/ │ │ │ │ └── GrpcClientChannelTest.java │ │ │ ├── client/ │ │ │ │ └── ClientActivityTest.java │ │ │ ├── common/ │ │ │ │ ├── GrpcClientSettingsManagerTest.java │ │ │ │ ├── GrpcConverterTest.java │ │ │ │ └── GrpcValidatorTest.java │ │ │ ├── consumer/ │ │ │ │ ├── AckMessageActivityTest.java │ │ │ │ ├── ChangeInvisibleDurationActivityTest.java │ │ │ │ ├── ReceiveMessageActivityTest.java │ │ │ │ └── ReceiveMessageResponseStreamWriterTest.java │ │ │ ├── producer/ │ │ │ │ ├── ForwardMessageToDLQActivityTest.java │ │ │ │ ├── RecallMessageActivityTest.java │ │ │ │ └── SendMessageActivityTest.java │ │ │ ├── route/ │ │ │ │ └── RouteActivityTest.java │ │ │ └── transaction/ │ │ │ └── EndTransactionActivityTest.java │ │ ├── processor/ │ │ │ ├── BaseProcessorTest.java │ │ │ ├── ClientProcessorTest.java │ │ │ ├── ConsumerProcessorTest.java │ │ │ ├── ProducerProcessorTest.java │ │ │ ├── ReceiptHandleProcessorTest.java │ │ │ ├── TransactionProcessorTest.java │ │ │ └── channel/ │ │ │ └── RemoteChannelTest.java │ │ ├── remoting/ │ │ │ ├── activity/ │ │ │ │ ├── AbstractRemotingActivityTest.java │ │ │ │ ├── GetTopicRouteActivityTest.java │ │ │ │ ├── PullMessageActivityTest.java │ │ │ │ ├── RecallMessageActivityTest.java │ │ │ │ └── SendMessageActivityTest.java │ │ │ ├── channel/ │ │ │ │ ├── RemotingChannelManagerTest.java │ │ │ │ └── RemotingChannelTest.java │ │ │ └── protocol/ │ │ │ └── http2proxy/ │ │ │ ├── HAProxyMessageForwarderTest.java │ │ │ └── Http2ProtocolProxyHandlerTest.java │ │ └── service/ │ │ ├── BaseServiceTest.java │ │ ├── admin/ │ │ │ └── DefaultAdminServiceTest.java │ │ ├── cert/ │ │ │ └── TlsCertificateManagerTest.java │ │ ├── lite/ │ │ │ └── LiteSubscriptionServiceTest.java │ │ ├── message/ │ │ │ ├── ClusterMessageServiceTest.java │ │ │ └── LocalMessageServiceTest.java │ │ ├── metadata/ │ │ │ └── ClusterMetadataServiceTest.java │ │ ├── mqclient/ │ │ │ ├── MQClientAPIExtTest.java │ │ │ └── ProxyClientRemotingProcessorTest.java │ │ ├── receipt/ │ │ │ └── DefaultReceiptHandleManagerTest.java │ │ ├── relay/ │ │ │ ├── LocalProxyRelayServiceTest.java │ │ │ └── ProxyChannelTest.java │ │ ├── route/ │ │ │ ├── ClusterTopicRouteServiceTest.java │ │ │ ├── LocalTopicRouteServiceTest.java │ │ │ ├── MessageQueuePenalizerTest.java │ │ │ ├── MessageQueuePriorityProviderTest.java │ │ │ └── MessageQueueSelectorTest.java │ │ ├── sysmessage/ │ │ │ └── HeartbeatSyncerTest.java │ │ └── transaction/ │ │ ├── AbstractTransactionServiceTest.java │ │ ├── ClusterTransactionServiceTest.java │ │ └── TransactionDataManagerTest.java │ └── resources/ │ ├── certs/ │ │ ├── client.key │ │ ├── client.pem │ │ ├── server.key │ │ └── server.pem │ ├── mockito-extensions/ │ │ └── org.mockito.plugins.MockMaker │ ├── rmq-proxy-home/ │ │ └── conf/ │ │ ├── broker.conf │ │ ├── logback_proxy.xml │ │ └── rmq-proxy.json │ └── rmq.logback-test.xml ├── remoting/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── remoting/ │ │ ├── ChannelEventListener.java │ │ ├── CommandCallback.java │ │ ├── CommandCustomHeader.java │ │ ├── Configuration.java │ │ ├── InvokeCallback.java │ │ ├── RPCHook.java │ │ ├── RemotingClient.java │ │ ├── RemotingServer.java │ │ ├── RemotingService.java │ │ ├── annotation/ │ │ │ ├── CFNotNull.java │ │ │ └── CFNullable.java │ │ ├── common/ │ │ │ ├── HeartbeatV2Result.java │ │ │ ├── RemotingHelper.java │ │ │ ├── SemaphoreReleaseOnlyOnce.java │ │ │ ├── ServiceThread.java │ │ │ └── TlsMode.java │ │ ├── exception/ │ │ │ ├── RemotingCommandException.java │ │ │ ├── RemotingConnectException.java │ │ │ ├── RemotingException.java │ │ │ ├── RemotingSendRequestException.java │ │ │ ├── RemotingTimeoutException.java │ │ │ └── RemotingTooMuchRequestException.java │ │ ├── metrics/ │ │ │ ├── RemotingMetricsConstant.java │ │ │ └── RemotingMetricsManager.java │ │ ├── netty/ │ │ │ ├── AttributeKeys.java │ │ │ ├── FileRegionEncoder.java │ │ │ ├── NettyClientConfig.java │ │ │ ├── NettyDecoder.java │ │ │ ├── NettyEncoder.java │ │ │ ├── NettyEvent.java │ │ │ ├── NettyEventType.java │ │ │ ├── NettyLogger.java │ │ │ ├── NettyRemotingAbstract.java │ │ │ ├── NettyRemotingClient.java │ │ │ ├── NettyRemotingServer.java │ │ │ ├── NettyRequestProcessor.java │ │ │ ├── NettyServerConfig.java │ │ │ ├── NettySystemConfig.java │ │ │ ├── RemotingCodeDistributionHandler.java │ │ │ ├── RemotingResponseCallback.java │ │ │ ├── RequestTask.java │ │ │ ├── ResponseFuture.java │ │ │ ├── TlsHelper.java │ │ │ └── TlsSystemConfig.java │ │ ├── pipeline/ │ │ │ └── RequestPipeline.java │ │ ├── protocol/ │ │ │ ├── BitSetSerializerDeserializer.java │ │ │ ├── BrokerSyncInfo.java │ │ │ ├── DataVersion.java │ │ │ ├── EpochEntry.java │ │ │ ├── FastCodesHeader.java │ │ │ ├── ForbiddenType.java │ │ │ ├── LanguageCode.java │ │ │ ├── MQProtosHelper.java │ │ │ ├── NamespaceUtil.java │ │ │ ├── RemotingCommand.java │ │ │ ├── RemotingCommandType.java │ │ │ ├── RemotingSerializable.java │ │ │ ├── RemotingSysResponseCode.java │ │ │ ├── RequestCode.java │ │ │ ├── RequestHeaderRegistry.java │ │ │ ├── RequestSource.java │ │ │ ├── RequestType.java │ │ │ ├── ResponseCode.java │ │ │ ├── RocketMQSerializable.java │ │ │ ├── SerializeType.java │ │ │ ├── admin/ │ │ │ │ ├── ConsumeStats.java │ │ │ │ ├── OffsetWrapper.java │ │ │ │ ├── RollbackStats.java │ │ │ │ ├── TopicOffset.java │ │ │ │ └── TopicStatsTable.java │ │ │ ├── body/ │ │ │ │ ├── AclInfo.java │ │ │ │ ├── BatchAck.java │ │ │ │ ├── BatchAckMessageRequestBody.java │ │ │ │ ├── BrokerMemberGroup.java │ │ │ │ ├── BrokerReplicasInfo.java │ │ │ │ ├── BrokerStatsData.java │ │ │ │ ├── BrokerStatsItem.java │ │ │ │ ├── CMResult.java │ │ │ │ ├── CheckClientRequestBody.java │ │ │ │ ├── ClusterInfo.java │ │ │ │ ├── Connection.java │ │ │ │ ├── ConsumeByWho.java │ │ │ │ ├── ConsumeMessageDirectlyResult.java │ │ │ │ ├── ConsumeQueueData.java │ │ │ │ ├── ConsumeStatsList.java │ │ │ │ ├── ConsumeStatus.java │ │ │ │ ├── ConsumerConnection.java │ │ │ │ ├── ConsumerOffsetSerializeWrapper.java │ │ │ │ ├── ConsumerRunningInfo.java │ │ │ │ ├── CreateTopicListRequestBody.java │ │ │ │ ├── ElectMasterResponseBody.java │ │ │ │ ├── EpochEntryCache.java │ │ │ │ ├── GetBrokerLiteInfoResponseBody.java │ │ │ │ ├── GetBrokerMemberGroupResponseBody.java │ │ │ │ ├── GetConsumerStatusBody.java │ │ │ │ ├── GetLiteClientInfoResponseBody.java │ │ │ │ ├── GetLiteGroupInfoResponseBody.java │ │ │ │ ├── GetLiteTopicInfoResponseBody.java │ │ │ │ ├── GetParentTopicInfoResponseBody.java │ │ │ │ ├── GroupList.java │ │ │ │ ├── HARuntimeInfo.java │ │ │ │ ├── KVTable.java │ │ │ │ ├── LiteSubscriptionCtlRequestBody.java │ │ │ │ ├── LockBatchRequestBody.java │ │ │ │ ├── LockBatchResponseBody.java │ │ │ │ ├── MessageRequestModeSerializeWrapper.java │ │ │ │ ├── PopProcessQueueInfo.java │ │ │ │ ├── ProcessQueueInfo.java │ │ │ │ ├── ProducerConnection.java │ │ │ │ ├── ProducerInfo.java │ │ │ │ ├── ProducerTableInfo.java │ │ │ │ ├── QueryAssignmentRequestBody.java │ │ │ │ ├── QueryAssignmentResponseBody.java │ │ │ │ ├── QueryConsumeQueueResponseBody.java │ │ │ │ ├── QueryConsumeTimeSpanBody.java │ │ │ │ ├── QueryCorrectionOffsetBody.java │ │ │ │ ├── QuerySubscriptionResponseBody.java │ │ │ │ ├── QueueTimeSpan.java │ │ │ │ ├── RegisterBrokerBody.java │ │ │ │ ├── ResetOffsetBody.java │ │ │ │ ├── ResetOffsetBodyForC.java │ │ │ │ ├── RoleChangeNotifyEntry.java │ │ │ │ ├── SetMessageRequestModeRequestBody.java │ │ │ │ ├── SubscriptionGroupList.java │ │ │ │ ├── SubscriptionGroupWrapper.java │ │ │ │ ├── SyncStateSet.java │ │ │ │ ├── TopicConfigAndMappingSerializeWrapper.java │ │ │ │ ├── TopicConfigSerializeWrapper.java │ │ │ │ ├── TopicList.java │ │ │ │ ├── TopicQueueMappingSerializeWrapper.java │ │ │ │ ├── UnlockBatchRequestBody.java │ │ │ │ └── UserInfo.java │ │ │ ├── filter/ │ │ │ │ └── FilterAPI.java │ │ │ ├── header/ │ │ │ │ ├── AckMessageRequestHeader.java │ │ │ │ ├── AddBrokerRequestHeader.java │ │ │ │ ├── ChangeInvisibleTimeRequestHeader.java │ │ │ │ ├── ChangeInvisibleTimeResponseHeader.java │ │ │ │ ├── CheckRocksdbCqWriteProgressRequestHeader.java │ │ │ │ ├── CheckTransactionStateRequestHeader.java │ │ │ │ ├── CheckTransactionStateResponseHeader.java │ │ │ │ ├── CloneGroupOffsetRequestHeader.java │ │ │ │ ├── ConsumeMessageDirectlyResultRequestHeader.java │ │ │ │ ├── ConsumerSendMsgBackRequestHeader.java │ │ │ │ ├── CreateAclRequestHeader.java │ │ │ │ ├── CreateTopicListRequestHeader.java │ │ │ │ ├── CreateTopicRequestHeader.java │ │ │ │ ├── CreateUserRequestHeader.java │ │ │ │ ├── DeleteAclRequestHeader.java │ │ │ │ ├── DeleteSubscriptionGroupRequestHeader.java │ │ │ │ ├── DeleteTopicRequestHeader.java │ │ │ │ ├── DeleteUserRequestHeader.java │ │ │ │ ├── EndTransactionRequestHeader.java │ │ │ │ ├── EndTransactionResponseHeader.java │ │ │ │ ├── ExchangeHAInfoRequestHeader.java │ │ │ │ ├── ExchangeHAInfoResponseHeader.java │ │ │ │ ├── ExportRocksDBConfigToJsonRequestHeader.java │ │ │ │ ├── ExtraInfoUtil.java │ │ │ │ ├── GetAclRequestHeader.java │ │ │ │ ├── GetAllProducerInfoRequestHeader.java │ │ │ │ ├── GetAllSubscriptionGroupRequestHeader.java │ │ │ │ ├── GetAllSubscriptionGroupResponseHeader.java │ │ │ │ ├── GetAllTopicConfigRequestHeader.java │ │ │ │ ├── GetAllTopicConfigResponseHeader.java │ │ │ │ ├── GetBrokerConfigResponseHeader.java │ │ │ │ ├── GetBrokerMemberGroupRequestHeader.java │ │ │ │ ├── GetConsumeStatsInBrokerHeader.java │ │ │ │ ├── GetConsumeStatsRequestHeader.java │ │ │ │ ├── GetConsumerConnectionListRequestHeader.java │ │ │ │ ├── GetConsumerListByGroupRequestHeader.java │ │ │ │ ├── GetConsumerListByGroupResponseBody.java │ │ │ │ ├── GetConsumerListByGroupResponseHeader.java │ │ │ │ ├── GetConsumerRunningInfoRequestHeader.java │ │ │ │ ├── GetConsumerStatusRequestHeader.java │ │ │ │ ├── GetEarliestMsgStoretimeRequestHeader.java │ │ │ │ ├── GetEarliestMsgStoretimeResponseHeader.java │ │ │ │ ├── GetLiteClientInfoRequestHeader.java │ │ │ │ ├── GetLiteGroupInfoRequestHeader.java │ │ │ │ ├── GetLiteTopicInfoRequestHeader.java │ │ │ │ ├── GetMaxOffsetRequestHeader.java │ │ │ │ ├── GetMaxOffsetResponseHeader.java │ │ │ │ ├── GetMinOffsetRequestHeader.java │ │ │ │ ├── GetMinOffsetResponseHeader.java │ │ │ │ ├── GetParentTopicInfoRequestHeader.java │ │ │ │ ├── GetProducerConnectionListRequestHeader.java │ │ │ │ ├── GetSubscriptionGroupConfigRequestHeader.java │ │ │ │ ├── GetTopicConfigRequestHeader.java │ │ │ │ ├── GetTopicStatsInfoRequestHeader.java │ │ │ │ ├── GetTopicsByClusterRequestHeader.java │ │ │ │ ├── GetUserRequestHeader.java │ │ │ │ ├── HeartbeatRequestHeader.java │ │ │ │ ├── InitConsumerOffsetRequestHeader.java │ │ │ │ ├── ListAclsRequestHeader.java │ │ │ │ ├── ListUsersRequestHeader.java │ │ │ │ ├── LiteSubscriptionCtlRequestHeader.java │ │ │ │ ├── LockBatchMqRequestHeader.java │ │ │ │ ├── NotificationRequestHeader.java │ │ │ │ ├── NotificationResponseHeader.java │ │ │ │ ├── NotifyBrokerRoleChangedRequestHeader.java │ │ │ │ ├── NotifyConsumerIdsChangedRequestHeader.java │ │ │ │ ├── NotifyMinBrokerIdChangeRequestHeader.java │ │ │ │ ├── NotifyUnsubscribeLiteRequestHeader.java │ │ │ │ ├── PeekMessageRequestHeader.java │ │ │ │ ├── PollingInfoRequestHeader.java │ │ │ │ ├── PollingInfoResponseHeader.java │ │ │ │ ├── PopLiteMessageRequestHeader.java │ │ │ │ ├── PopLiteMessageResponseHeader.java │ │ │ │ ├── PopMessageRequestHeader.java │ │ │ │ ├── PopMessageResponseHeader.java │ │ │ │ ├── PullMessageRequestHeader.java │ │ │ │ ├── PullMessageResponseHeader.java │ │ │ │ ├── QueryConsumeQueueRequestHeader.java │ │ │ │ ├── QueryConsumeTimeSpanRequestHeader.java │ │ │ │ ├── QueryConsumerOffsetRequestHeader.java │ │ │ │ ├── QueryConsumerOffsetResponseHeader.java │ │ │ │ ├── QueryCorrectionOffsetHeader.java │ │ │ │ ├── QueryMessageRequestHeader.java │ │ │ │ ├── QueryMessageResponseHeader.java │ │ │ │ ├── QuerySubscriptionByConsumerRequestHeader.java │ │ │ │ ├── QueryTopicConsumeByWhoRequestHeader.java │ │ │ │ ├── QueryTopicsByConsumerRequestHeader.java │ │ │ │ ├── RecallMessageRequestHeader.java │ │ │ │ ├── RecallMessageResponseHeader.java │ │ │ │ ├── RemoveBrokerRequestHeader.java │ │ │ │ ├── ReplyMessageRequestHeader.java │ │ │ │ ├── ResetMasterFlushOffsetHeader.java │ │ │ │ ├── ResetOffsetRequestHeader.java │ │ │ │ ├── ResumeCheckHalfMessageRequestHeader.java │ │ │ │ ├── SearchOffsetRequestHeader.java │ │ │ │ ├── SearchOffsetResponseHeader.java │ │ │ │ ├── SendMessageRequestHeader.java │ │ │ │ ├── SendMessageRequestHeaderV2.java │ │ │ │ ├── SendMessageResponseHeader.java │ │ │ │ ├── StatisticsMessagesRequestHeader.java │ │ │ │ ├── TriggerLiteDispatchRequestHeader.java │ │ │ │ ├── UnlockBatchMqRequestHeader.java │ │ │ │ ├── UnregisterClientRequestHeader.java │ │ │ │ ├── UnregisterClientResponseHeader.java │ │ │ │ ├── UpdateAclRequestHeader.java │ │ │ │ ├── UpdateConsumerOffsetRequestHeader.java │ │ │ │ ├── UpdateConsumerOffsetResponseHeader.java │ │ │ │ ├── UpdateGroupForbiddenRequestHeader.java │ │ │ │ ├── UpdateUserRequestHeader.java │ │ │ │ ├── ViewBrokerStatsDataRequestHeader.java │ │ │ │ ├── ViewMessageRequestHeader.java │ │ │ │ ├── ViewMessageResponseHeader.java │ │ │ │ ├── controller/ │ │ │ │ │ ├── AlterSyncStateSetRequestHeader.java │ │ │ │ │ ├── AlterSyncStateSetResponseHeader.java │ │ │ │ │ ├── ElectMasterRequestHeader.java │ │ │ │ │ ├── ElectMasterResponseHeader.java │ │ │ │ │ ├── GetMetaDataResponseHeader.java │ │ │ │ │ ├── GetReplicaInfoRequestHeader.java │ │ │ │ │ ├── GetReplicaInfoResponseHeader.java │ │ │ │ │ ├── admin/ │ │ │ │ │ │ └── CleanControllerBrokerDataRequestHeader.java │ │ │ │ │ └── register/ │ │ │ │ │ ├── ApplyBrokerIdRequestHeader.java │ │ │ │ │ ├── ApplyBrokerIdResponseHeader.java │ │ │ │ │ ├── GetNextBrokerIdRequestHeader.java │ │ │ │ │ ├── GetNextBrokerIdResponseHeader.java │ │ │ │ │ ├── RegisterBrokerToControllerRequestHeader.java │ │ │ │ │ └── RegisterBrokerToControllerResponseHeader.java │ │ │ │ └── namesrv/ │ │ │ │ ├── AddWritePermOfBrokerRequestHeader.java │ │ │ │ ├── AddWritePermOfBrokerResponseHeader.java │ │ │ │ ├── BrokerHeartbeatRequestHeader.java │ │ │ │ ├── DeleteKVConfigRequestHeader.java │ │ │ │ ├── DeleteTopicFromNamesrvRequestHeader.java │ │ │ │ ├── GetKVConfigRequestHeader.java │ │ │ │ ├── GetKVConfigResponseHeader.java │ │ │ │ ├── GetKVListByNamespaceRequestHeader.java │ │ │ │ ├── GetRouteInfoRequestHeader.java │ │ │ │ ├── PutKVConfigRequestHeader.java │ │ │ │ ├── QueryDataVersionRequestHeader.java │ │ │ │ ├── QueryDataVersionResponseHeader.java │ │ │ │ ├── RegisterBrokerRequestHeader.java │ │ │ │ ├── RegisterBrokerResponseHeader.java │ │ │ │ ├── RegisterOrderTopicRequestHeader.java │ │ │ │ ├── RegisterTopicRequestHeader.java │ │ │ │ ├── UnRegisterBrokerRequestHeader.java │ │ │ │ ├── WipeWritePermOfBrokerRequestHeader.java │ │ │ │ └── WipeWritePermOfBrokerResponseHeader.java │ │ │ ├── heartbeat/ │ │ │ │ ├── ConsumeType.java │ │ │ │ ├── ConsumerData.java │ │ │ │ ├── HeartbeatData.java │ │ │ │ ├── MessageModel.java │ │ │ │ ├── ProducerData.java │ │ │ │ └── SubscriptionData.java │ │ │ ├── namesrv/ │ │ │ │ └── RegisterBrokerResult.java │ │ │ ├── route/ │ │ │ │ ├── BrokerData.java │ │ │ │ ├── MessageQueueRouteState.java │ │ │ │ ├── QueueData.java │ │ │ │ └── TopicRouteData.java │ │ │ ├── statictopic/ │ │ │ │ ├── LogicQueueMappingItem.java │ │ │ │ ├── TopicConfigAndQueueMapping.java │ │ │ │ ├── TopicQueueMappingContext.java │ │ │ │ ├── TopicQueueMappingDetail.java │ │ │ │ ├── TopicQueueMappingInfo.java │ │ │ │ ├── TopicQueueMappingOne.java │ │ │ │ ├── TopicQueueMappingUtils.java │ │ │ │ └── TopicRemappingDetailWrapper.java │ │ │ ├── subscription/ │ │ │ │ ├── CustomizedRetryPolicy.java │ │ │ │ ├── ExponentialRetryPolicy.java │ │ │ │ ├── GroupForbidden.java │ │ │ │ ├── GroupRetryPolicy.java │ │ │ │ ├── GroupRetryPolicyType.java │ │ │ │ ├── RetryPolicy.java │ │ │ │ ├── SimpleSubscriptionData.java │ │ │ │ └── SubscriptionGroupConfig.java │ │ │ └── topic/ │ │ │ └── OffsetMovedEvent.java │ │ ├── proxy/ │ │ │ └── SocksProxyConfig.java │ │ ├── rpc/ │ │ │ ├── ClientMetadata.java │ │ │ ├── RequestBuilder.java │ │ │ ├── RpcClient.java │ │ │ ├── RpcClientHook.java │ │ │ ├── RpcClientImpl.java │ │ │ ├── RpcClientUtils.java │ │ │ ├── RpcException.java │ │ │ ├── RpcRequest.java │ │ │ ├── RpcRequestHeader.java │ │ │ ├── RpcResponse.java │ │ │ ├── TopicQueueRequestHeader.java │ │ │ └── TopicRequestHeader.java │ │ └── rpchook/ │ │ ├── DynamicalExtFieldRPCHook.java │ │ └── StreamTypeRPCHook.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── remoting/ │ │ ├── ProxyProtocolTest.java │ │ ├── RemotingServerTest.java │ │ ├── SubRemotingServerTest.java │ │ ├── TlsTest.java │ │ ├── netty/ │ │ │ ├── FileRegionEncoderTest.java │ │ │ ├── MockChannel.java │ │ │ ├── MockChannelPromise.java │ │ │ ├── NettyClientConfigTest.java │ │ │ ├── NettyRemotingAbstractTest.java │ │ │ ├── NettyRemotingClientTest.java │ │ │ ├── NettyRemotingServerTest.java │ │ │ ├── NettyServerConfigTest.java │ │ │ └── RemotingCodeDistributionHandlerTest.java │ │ ├── protocol/ │ │ │ ├── CheckpointFileTest.java │ │ │ ├── ClusterInfoTest.java │ │ │ ├── ConsumeStatusTest.java │ │ │ ├── DataVersionTest.java │ │ │ ├── GroupListTest.java │ │ │ ├── LanguageCodeTest.java │ │ │ ├── NamespaceUtilTest.java │ │ │ ├── QueryConsumeTimeSpanBodyTest.java │ │ │ ├── RegisterBrokerBodyTest.java │ │ │ ├── RemotingCommandTest.java │ │ │ ├── RemotingSerializableCompatTest.java │ │ │ ├── RemotingSerializableTest.java │ │ │ ├── RequestSourceTest.java │ │ │ ├── RequestTypeTest.java │ │ │ ├── RocketMQSerializableTest.java │ │ │ ├── admin/ │ │ │ │ ├── ConsumeStatsTest.java │ │ │ │ └── TopicStatsTableTest.java │ │ │ ├── body/ │ │ │ │ ├── BatchAckTest.java │ │ │ │ ├── BrokerStatsDataTest.java │ │ │ │ ├── CheckClientRequestBodyTest.java │ │ │ │ ├── ConsumeMessageDirectlyResultTest.java │ │ │ │ ├── ConsumeStatsListTest.java │ │ │ │ ├── ConsumerConnectionTest.java │ │ │ │ ├── ConsumerRunningInfoTest.java │ │ │ │ ├── KVTableTest.java │ │ │ │ ├── MessageRequestModeSerializeWrapperTest.java │ │ │ │ ├── QueryConsumeQueueResponseBodyTest.java │ │ │ │ ├── QueryCorrectionOffsetBodyTest.java │ │ │ │ ├── ResetOffsetBodyTest.java │ │ │ │ └── SubscriptionGroupWrapperTest.java │ │ │ ├── filter/ │ │ │ │ └── FilterAPITest.java │ │ │ ├── header/ │ │ │ │ ├── ExportRocksDBConfigToJsonRequestHeaderTest.java │ │ │ │ ├── ExtraInfoUtilTest.java │ │ │ │ ├── FastCodesHeaderTest.java │ │ │ │ ├── GetConsumeStatsRequestHeaderTest.java │ │ │ │ └── SendMessageRequestHeaderV2Test.java │ │ │ ├── heartbeat/ │ │ │ │ └── SubscriptionDataTest.java │ │ │ ├── route/ │ │ │ │ └── TopicRouteDataTest.java │ │ │ ├── statictopic/ │ │ │ │ ├── TopicQueueMappingTest.java │ │ │ │ └── TopicQueueMappingUtilsTest.java │ │ │ ├── subscription/ │ │ │ │ ├── CustomizedRetryPolicyTest.java │ │ │ │ ├── ExponentialRetryPolicyTest.java │ │ │ │ ├── GroupRetryPolicyTest.java │ │ │ │ └── SimpleSubscriptionDataTest.java │ │ │ └── topic/ │ │ │ └── OffsetMovedEventTest.java │ │ └── rpc/ │ │ ├── ClientMetadataTest.java │ │ ├── RpcClientImplTest.java │ │ └── RpcRequestHeaderTest.java │ └── resources/ │ ├── certs/ │ │ ├── badClient.key │ │ ├── badClient.pem │ │ ├── badServer.key │ │ ├── badServer.pem │ │ ├── ca.pem │ │ ├── client.key │ │ ├── client.pem │ │ ├── privkey.pem │ │ ├── server.key │ │ └── server.pem │ └── rmq.logback-test.xml ├── srvutil/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── srvutil/ │ │ ├── FileWatchService.java │ │ ├── ServerUtil.java │ │ └── ShutdownHookThread.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── srvutil/ │ │ └── FileWatchServiceTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── store/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── store/ │ │ ├── AllocateMappedFileService.java │ │ ├── AppendMessageCallback.java │ │ ├── AppendMessageResult.java │ │ ├── AppendMessageStatus.java │ │ ├── CommitLog.java │ │ ├── CommitLogDispatchStore.java │ │ ├── CommitLogDispatcher.java │ │ ├── CompactionAppendMsgCallback.java │ │ ├── ConsumeQueue.java │ │ ├── ConsumeQueueExt.java │ │ ├── DefaultMessageFilter.java │ │ ├── DefaultMessageStore.java │ │ ├── DispatchRequest.java │ │ ├── FileQueueSnapshot.java │ │ ├── FlushDiskWatcher.java │ │ ├── FlushManager.java │ │ ├── GetMessageResult.java │ │ ├── GetMessageStatus.java │ │ ├── LmqDispatch.java │ │ ├── MappedFileQueue.java │ │ ├── MessageArrivingListener.java │ │ ├── MessageExtEncoder.java │ │ ├── MessageFilter.java │ │ ├── MessageStore.java │ │ ├── MessageStoreStateMachine.java │ │ ├── MultiPathMappedFileQueue.java │ │ ├── PutMessageContext.java │ │ ├── PutMessageLock.java │ │ ├── PutMessageReentrantLock.java │ │ ├── PutMessageResult.java │ │ ├── PutMessageSpinLock.java │ │ ├── PutMessageStatus.java │ │ ├── QueryMessageResult.java │ │ ├── ReferenceResource.java │ │ ├── RocksDBMessageStore.java │ │ ├── RunningFlags.java │ │ ├── SelectMappedBufferResult.java │ │ ├── SelectMappedFileResult.java │ │ ├── StoreCheckpoint.java │ │ ├── StoreStatsService.java │ │ ├── StoreType.java │ │ ├── StoreUtil.java │ │ ├── Swappable.java │ │ ├── TopicQueueLock.java │ │ ├── TransientStorePool.java │ │ ├── config/ │ │ │ ├── BrokerRole.java │ │ │ ├── FlushDiskType.java │ │ │ ├── MessageStoreConfig.java │ │ │ └── StorePathConfigHelper.java │ │ ├── dledger/ │ │ │ └── DLedgerCommitLog.java │ │ ├── exception/ │ │ │ ├── ConsumeQueueException.java │ │ │ └── StoreException.java │ │ ├── ha/ │ │ │ ├── DefaultHAClient.java │ │ │ ├── DefaultHAConnection.java │ │ │ ├── DefaultHAService.java │ │ │ ├── FlowMonitor.java │ │ │ ├── GroupTransferService.java │ │ │ ├── HAClient.java │ │ │ ├── HAConnection.java │ │ │ ├── HAConnectionState.java │ │ │ ├── HAConnectionStateNotificationRequest.java │ │ │ ├── HAConnectionStateNotificationService.java │ │ │ ├── HAService.java │ │ │ ├── WaitNotifyObject.java │ │ │ ├── autoswitch/ │ │ │ │ ├── AutoSwitchHAClient.java │ │ │ │ ├── AutoSwitchHAConnection.java │ │ │ │ ├── AutoSwitchHAService.java │ │ │ │ ├── BrokerMetadata.java │ │ │ │ ├── EpochFileCache.java │ │ │ │ ├── MetadataFile.java │ │ │ │ └── TempBrokerMetadata.java │ │ │ └── io/ │ │ │ ├── AbstractHAReader.java │ │ │ ├── HAReadHook.java │ │ │ ├── HAWriteHook.java │ │ │ └── HAWriter.java │ │ ├── hook/ │ │ │ ├── PutMessageHook.java │ │ │ └── SendMessageBackHook.java │ │ ├── index/ │ │ │ ├── IndexFile.java │ │ │ ├── IndexHeader.java │ │ │ ├── IndexService.java │ │ │ ├── QueryOffsetResult.java │ │ │ └── rocksdb/ │ │ │ ├── IndexRocksDBRecord.java │ │ │ └── IndexRocksDBStore.java │ │ ├── kv/ │ │ │ ├── CommitLogDispatcherCompaction.java │ │ │ ├── CompactionLog.java │ │ │ ├── CompactionPositionMgr.java │ │ │ ├── CompactionService.java │ │ │ ├── CompactionStore.java │ │ │ └── MessageFetcher.java │ │ ├── lock/ │ │ │ ├── AdaptiveBackOffSpinLock.java │ │ │ ├── AdaptiveBackOffSpinLockImpl.java │ │ │ ├── BackOffReentrantLock.java │ │ │ └── BackOffSpinLock.java │ │ ├── logfile/ │ │ │ ├── AbstractMappedFile.java │ │ │ ├── DefaultMappedFile.java │ │ │ ├── MappedFile.java │ │ │ └── SharedByteBufferManager.java │ │ ├── metrics/ │ │ │ ├── DefaultStoreMetricsConstant.java │ │ │ ├── DefaultStoreMetricsManager.java │ │ │ ├── RocksDBStoreMetricsManager.java │ │ │ └── StoreMetricsManager.java │ │ ├── plugin/ │ │ │ ├── AbstractPluginMessageStore.java │ │ │ ├── MessageStoreFactory.java │ │ │ └── MessageStorePluginContext.java │ │ ├── pop/ │ │ │ ├── AckMsg.java │ │ │ ├── BatchAckMsg.java │ │ │ └── PopCheckPoint.java │ │ ├── queue/ │ │ │ ├── AbstractConsumeQueueStore.java │ │ │ ├── BatchConsumeQueue.java │ │ │ ├── BatchOffsetIndex.java │ │ │ ├── CombineConsumeQueueStore.java │ │ │ ├── ConsumeQueueInterface.java │ │ │ ├── ConsumeQueueStore.java │ │ │ ├── ConsumeQueueStoreInterface.java │ │ │ ├── CqUnit.java │ │ │ ├── DispatchEntry.java │ │ │ ├── FileQueueLifeCycle.java │ │ │ ├── MultiDispatchUtils.java │ │ │ ├── OffsetInitializer.java │ │ │ ├── OffsetInitializerRocksDBImpl.java │ │ │ ├── QueueOffsetOperator.java │ │ │ ├── ReferredIterator.java │ │ │ ├── RocksDBConsumeQueue.java │ │ │ ├── RocksDBConsumeQueueOffsetTable.java │ │ │ ├── RocksDBConsumeQueueStore.java │ │ │ ├── RocksDBConsumeQueueTable.java │ │ │ ├── RocksGroupCommitService.java │ │ │ ├── SparseConsumeQueue.java │ │ │ └── offset/ │ │ │ ├── OffsetEntry.java │ │ │ └── OffsetEntryType.java │ │ ├── rocksdb/ │ │ │ ├── ConsumeQueueCompactionFilterFactory.java │ │ │ ├── ConsumeQueueRocksDBStorage.java │ │ │ ├── MessageRocksDBStorage.java │ │ │ └── RocksDBOptionsFactory.java │ │ ├── stats/ │ │ │ ├── BrokerStats.java │ │ │ ├── BrokerStatsManager.java │ │ │ └── LmqBrokerStatsManager.java │ │ ├── timer/ │ │ │ ├── Slot.java │ │ │ ├── TimerCheckpoint.java │ │ │ ├── TimerLog.java │ │ │ ├── TimerMessageStore.java │ │ │ ├── TimerMetrics.java │ │ │ ├── TimerRequest.java │ │ │ ├── TimerWheel.java │ │ │ └── rocksdb/ │ │ │ ├── Timeline.java │ │ │ ├── TimerMessageRocksDBStore.java │ │ │ └── TimerRocksDBRecord.java │ │ ├── transaction/ │ │ │ ├── TransMessageRocksDBStore.java │ │ │ └── TransRocksDBRecord.java │ │ └── util/ │ │ ├── LibC.java │ │ └── PerfCounter.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── store/ │ │ ├── AppendCallbackTest.java │ │ ├── AppendPropCRCTest.java │ │ ├── BatchPutMessageTest.java │ │ ├── ConsumeQueueExtTest.java │ │ ├── ConsumeQueueTest.java │ │ ├── DefaultMessageStoreCleanFilesTest.java │ │ ├── DefaultMessageStoreShutDownTest.java │ │ ├── DefaultMessageStoreTest.java │ │ ├── FlushDiskWatcherTest.java │ │ ├── GetMessageResultTest.java │ │ ├── HATest.java │ │ ├── MappedFileQueueTest.java │ │ ├── MappedFileTest.java │ │ ├── MessageExtBrokerInnerTest.java │ │ ├── MessageStoreStateMachineTest.java │ │ ├── MultiPathMappedFileQueueTest.java │ │ ├── ReputMessageServiceTest.java │ │ ├── RocksDBMessageStoreTest.java │ │ ├── StoreCheckpointTest.java │ │ ├── StoreStatsServiceTest.java │ │ ├── StoreTestBase.java │ │ ├── StoreTestUtil.java │ │ ├── dledger/ │ │ │ ├── DLedgerCommitlogTest.java │ │ │ ├── DLedgerMultiPathTest.java │ │ │ ├── MessageStoreTestBase.java │ │ │ └── MixCommitlogTest.java │ │ ├── ha/ │ │ │ ├── FlowMonitorTest.java │ │ │ ├── HAClientTest.java │ │ │ ├── HAServerTest.java │ │ │ ├── WaitNotifyObjectTest.java │ │ │ └── autoswitch/ │ │ │ ├── AutoSwitchHATest.java │ │ │ └── EpochFileCacheTest.java │ │ ├── index/ │ │ │ ├── IndexFileTest.java │ │ │ └── IndexServiceTest.java │ │ ├── kv/ │ │ │ ├── CompactionLogTest.java │ │ │ ├── CompactionPositionMgrTest.java │ │ │ └── OffsetMapTest.java │ │ ├── lock/ │ │ │ ├── AdaptiveBackOffSpinLockImplTest.java │ │ │ └── AdaptiveLockTest.java │ │ ├── logfile/ │ │ │ ├── DefaultMappedFileConcurrencyTest.java │ │ │ ├── DefaultMappedFileErrorHandlingTest.java │ │ │ ├── DefaultMappedFilePerformanceTest.java │ │ │ ├── DefaultMappedFileTest.java │ │ │ └── DefaultMappedFileWriteWithoutMmapTest.java │ │ ├── pop/ │ │ │ ├── AckMsgTest.java │ │ │ └── BatchAckMsgTest.java │ │ ├── queue/ │ │ │ ├── BatchConsumeMessageTest.java │ │ │ ├── BatchConsumeQueueTest.java │ │ │ ├── CombineConsumeQueueStoreTest.java │ │ │ ├── ConsumeQueueStoreTest.java │ │ │ ├── ConsumeQueueTest.java │ │ │ ├── QueueTestBase.java │ │ │ ├── RocksDBConsumeQueueOffsetTableTest.java │ │ │ ├── RocksDBConsumeQueueTableTest.java │ │ │ ├── RocksDBConsumeQueueTest.java │ │ │ └── SparseConsumeQueueTest.java │ │ ├── rocksdb/ │ │ │ └── RocksDBOptionsFactoryTest.java │ │ ├── stats/ │ │ │ └── BrokerStatsManagerTest.java │ │ └── timer/ │ │ ├── StoreTestUtils.java │ │ ├── TimerCheckPointTest.java │ │ ├── TimerLogTest.java │ │ ├── TimerMessageStoreTest.java │ │ ├── TimerMetricsTest.java │ │ └── TimerWheelTest.java │ └── resources/ │ └── rmq.logback-test.xml ├── style/ │ ├── copyright/ │ │ ├── Apache.xml │ │ └── profiles_settings.xml │ ├── rmq_checkstyle.xml │ ├── rmq_codeStyle.xml │ └── spotbugs-suppressions.xml ├── test/ │ ├── BUILD.bazel │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── test/ │ │ ├── client/ │ │ │ ├── mq/ │ │ │ │ └── MQAsyncProducer.java │ │ │ └── rmq/ │ │ │ ├── RMQAsyncSendProducer.java │ │ │ ├── RMQBroadCastConsumer.java │ │ │ ├── RMQNormalConsumer.java │ │ │ ├── RMQNormalProducer.java │ │ │ ├── RMQPopClient.java │ │ │ ├── RMQPopConsumer.java │ │ │ ├── RMQSqlConsumer.java │ │ │ └── RMQTransactionalProducer.java │ │ ├── clientinterface/ │ │ │ ├── AbstractMQConsumer.java │ │ │ ├── AbstractMQProducer.java │ │ │ ├── MQCollector.java │ │ │ ├── MQConsumer.java │ │ │ └── MQProducer.java │ │ ├── factory/ │ │ │ ├── ConsumerFactory.java │ │ │ ├── MQMessageFactory.java │ │ │ ├── MessageFactory.java │ │ │ ├── ProducerFactory.java │ │ │ ├── SendCallBackFactory.java │ │ │ └── TagMessage.java │ │ ├── listener/ │ │ │ ├── AbstractListener.java │ │ │ └── rmq/ │ │ │ ├── concurrent/ │ │ │ │ ├── RMQBlockListener.java │ │ │ │ ├── RMQDelayListener.java │ │ │ │ └── RMQNormalListener.java │ │ │ └── order/ │ │ │ └── RMQOrderListener.java │ │ ├── lmq/ │ │ │ └── benchmark/ │ │ │ └── BenchLmqStore.java │ │ ├── message/ │ │ │ └── MessageQueueMsg.java │ │ ├── schema/ │ │ │ ├── SchemaDefiner.java │ │ │ └── SchemaTools.java │ │ ├── sendresult/ │ │ │ └── ResultWrapper.java │ │ └── util/ │ │ ├── Condition.java │ │ ├── DuplicateMessageInfo.java │ │ ├── FileUtil.java │ │ ├── MQAdminTestUtils.java │ │ ├── MQRandomUtils.java │ │ ├── MQWait.java │ │ ├── RandomUtil.java │ │ ├── RandomUtils.java │ │ ├── StatUtil.java │ │ ├── TestUtil.java │ │ ├── TestUtils.java │ │ ├── VerifyUtils.java │ │ ├── data/ │ │ │ └── collect/ │ │ │ ├── DataCollector.java │ │ │ ├── DataCollectorManager.java │ │ │ ├── DataFilter.java │ │ │ └── impl/ │ │ │ ├── ListDataCollectorImpl.java │ │ │ └── MapDataCollectorImpl.java │ │ └── parallel/ │ │ ├── ParallelTask.java │ │ ├── ParallelTaskExecutor.java │ │ └── Task4Test.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── test/ │ │ ├── autoswitchrole/ │ │ │ ├── AutoSwitchRoleBase.java │ │ │ └── AutoSwitchRoleIntegrationTest.java │ │ ├── base/ │ │ │ ├── BaseConf.java │ │ │ └── IntegrationTestBase.java │ │ ├── client/ │ │ │ ├── consumer/ │ │ │ │ ├── balance/ │ │ │ │ │ ├── NormalMsgDynamicBalanceIT.java │ │ │ │ │ └── NormalMsgStaticBalanceIT.java │ │ │ │ ├── broadcast/ │ │ │ │ │ ├── BaseBroadcast.java │ │ │ │ │ ├── normal/ │ │ │ │ │ │ ├── BroadcastNormalMsgNotReceiveIT.java │ │ │ │ │ │ ├── BroadcastNormalMsgRecvCrashIT.java │ │ │ │ │ │ ├── BroadcastNormalMsgRecvFailIT.java │ │ │ │ │ │ ├── BroadcastNormalMsgRecvStartLaterIT.java │ │ │ │ │ │ ├── BroadcastNormalMsgTwoDiffGroupRecvIT.java │ │ │ │ │ │ └── NormalMsgTwoSameGroupConsumerIT.java │ │ │ │ │ ├── order/ │ │ │ │ │ │ └── OrderMsgBroadcastIT.java │ │ │ │ │ └── tag/ │ │ │ │ │ ├── BroadcastTwoConsumerFilterIT.java │ │ │ │ │ ├── BroadcastTwoConsumerSubDiffTagIT.java │ │ │ │ │ └── BroadcastTwoConsumerSubTagIT.java │ │ │ │ ├── cluster/ │ │ │ │ │ ├── DynamicAddAndCrashIT.java │ │ │ │ │ ├── DynamicAddConsumerIT.java │ │ │ │ │ └── DynamicCrashConsumerIT.java │ │ │ │ ├── filter/ │ │ │ │ │ └── SqlFilterIT.java │ │ │ │ ├── pop/ │ │ │ │ │ ├── BasePop.java │ │ │ │ │ ├── BasePopNormally.java │ │ │ │ │ ├── BasePopOrderly.java │ │ │ │ │ ├── BatchAckIT.java │ │ │ │ │ ├── NotificationIT.java │ │ │ │ │ ├── PopBigMessageIT.java │ │ │ │ │ ├── PopMessageAndForwardingIT.java │ │ │ │ │ ├── PopOrderlyIT.java │ │ │ │ │ ├── PopPriorityIT.java │ │ │ │ │ └── PopSubCheckIT.java │ │ │ │ ├── tag/ │ │ │ │ │ ├── MulTagSubIT.java │ │ │ │ │ ├── TagMessageWith1ConsumerIT.java │ │ │ │ │ ├── TagMessageWithMulConsumerIT.java │ │ │ │ │ └── TagMessageWithSameGroupConsumerIT.java │ │ │ │ └── topic/ │ │ │ │ ├── MulConsumerMulTopicIT.java │ │ │ │ └── OneConsumerMulTopicIT.java │ │ │ └── producer/ │ │ │ ├── async/ │ │ │ │ ├── AsyncSendExceptionIT.java │ │ │ │ ├── AsyncSendWithMessageQueueIT.java │ │ │ │ ├── AsyncSendWithMessageQueueSelectorIT.java │ │ │ │ └── AsyncSendWithOnlySendCallBackIT.java │ │ │ ├── batch/ │ │ │ │ └── BatchSendIT.java │ │ │ ├── exception/ │ │ │ │ ├── msg/ │ │ │ │ │ ├── ChinaPropIT.java │ │ │ │ │ ├── MessageExceptionIT.java │ │ │ │ │ └── MessageUserPropIT.java │ │ │ │ └── producer/ │ │ │ │ └── ProducerGroupAndInstanceNameValidityIT.java │ │ │ ├── oneway/ │ │ │ │ ├── OneWaySendExceptionIT.java │ │ │ │ ├── OneWaySendIT.java │ │ │ │ ├── OneWaySendWithMQIT.java │ │ │ │ └── OneWaySendWithSelectorIT.java │ │ │ ├── order/ │ │ │ │ ├── OrderMsgDynamicRebalanceIT.java │ │ │ │ ├── OrderMsgIT.java │ │ │ │ ├── OrderMsgRebalanceIT.java │ │ │ │ └── OrderMsgWithTagIT.java │ │ │ ├── querymsg/ │ │ │ │ ├── QueryMsgByIdExceptionIT.java │ │ │ │ ├── QueryMsgByIdIT.java │ │ │ │ └── QueryMsgByKeyIT.java │ │ │ └── transaction/ │ │ │ └── TransactionalMsgIT.java │ │ ├── container/ │ │ │ ├── AddAndRemoveBrokerIT.java │ │ │ ├── BrokerFailoverIT.java │ │ │ ├── BrokerMemberGroupIT.java │ │ │ ├── ContainerIntegrationTestBase.java │ │ │ ├── GetMaxOffsetFromSlaveIT.java │ │ │ ├── GetMetadataReverseIT.java │ │ │ ├── PopSlaveActingMasterIT.java │ │ │ ├── PullMultipleReplicasIT.java │ │ │ ├── PushMultipleReplicasIT.java │ │ │ ├── RebalanceLockOnSlaveIT.java │ │ │ ├── ScheduleSlaveActingMasterIT.java │ │ │ ├── ScheduledMessageIT.java │ │ │ ├── SendMultipleReplicasIT.java │ │ │ ├── SlaveBrokerIT.java │ │ │ ├── SyncConsumerOffsetIT.java │ │ │ ├── TransactionListenerImpl.java │ │ │ └── TransactionMessageIT.java │ │ ├── delay/ │ │ │ ├── DelayConf.java │ │ │ └── NormalMsgDelayIT.java │ │ ├── dledger/ │ │ │ └── DLedgerProduceAndConsumeIT.java │ │ ├── grpc/ │ │ │ └── v2/ │ │ │ ├── ClusterGrpcIT.java │ │ │ ├── GrpcBaseIT.java │ │ │ └── LocalGrpcIT.java │ │ ├── lmq/ │ │ │ └── TestBenchLmqStore.java │ │ ├── offset/ │ │ │ ├── LagCalculationIT.java │ │ │ ├── OffsetNotFoundIT.java │ │ │ ├── OffsetResetForPopIT.java │ │ │ └── OffsetResetIT.java │ │ ├── recall/ │ │ │ ├── RecallWithTraceIT.java │ │ │ └── SendAndRecallDelayMessageIT.java │ │ ├── retry/ │ │ │ └── PopConsumerRetryIT.java │ │ ├── route/ │ │ │ └── CreateAndUpdateTopicIT.java │ │ ├── schema/ │ │ │ └── SchemaTest.java │ │ ├── smoke/ │ │ │ └── NormalMessageSendAndRecvIT.java │ │ ├── statictopic/ │ │ │ └── StaticTopicIT.java │ │ └── tls/ │ │ ├── TlsIT.java │ │ ├── TlsMix2IT.java │ │ └── TlsMixIT.java │ └── resources/ │ ├── rmq-proxy-home/ │ │ └── conf/ │ │ ├── broker.conf │ │ ├── logback_proxy.xml │ │ └── rmq-proxy.json │ ├── rmq.logback-test.xml │ └── schema/ │ ├── api/ │ │ ├── client.consumer.AllocateMessageQueueStrategy.schema │ │ ├── client.consumer.DefaultLitePullConsumer.schema │ │ ├── client.consumer.DefaultMQPullConsumer.schema │ │ ├── client.consumer.DefaultMQPushConsumer.schema │ │ ├── client.consumer.PullCallback.schema │ │ ├── client.consumer.PullResult.schema │ │ ├── client.consumer.PullStatus.schema │ │ ├── client.consumer.listener.ConsumeConcurrentlyContext.schema │ │ ├── client.consumer.listener.ConsumeConcurrentlyStatus.schema │ │ ├── client.consumer.listener.ConsumeOrderlyContext.schema │ │ ├── client.consumer.listener.ConsumeOrderlyStatus.schema │ │ ├── client.consumer.listener.MessageListener.schema │ │ ├── client.consumer.listener.MessageListenerConcurrently.schema │ │ ├── client.consumer.listener.MessageListenerOrderly.schema │ │ ├── client.hook.CheckForbiddenHook.schema │ │ ├── client.hook.ConsumeMessageContext.schema │ │ ├── client.hook.ConsumeMessageHook.schema │ │ ├── client.hook.EndTransactionContext.schema │ │ ├── client.hook.EndTransactionHook.schema │ │ ├── client.hook.FilterMessageContext.schema │ │ ├── client.hook.FilterMessageHook.schema │ │ ├── client.hook.SendMessageContext.schema │ │ ├── client.hook.SendMessageHook.schema │ │ ├── client.producer.DefaultMQProducer.schema │ │ ├── client.producer.MessageQueueSelector.schema │ │ ├── client.producer.SendCallback.schema │ │ ├── client.producer.SendResult.schema │ │ ├── client.producer.SendStatus.schema │ │ ├── common.message.Message.schema │ │ ├── common.message.MessageExt.schema │ │ ├── common.message.MessageQueue.schema │ │ ├── remoting.RPCHook.schema │ │ └── tools.admin.DefaultMQAdminExt.schema │ └── protocol/ │ ├── common.protocol.RequestCode.schema │ ├── common.protocol.header.CheckTransactionStateRequestHeader.schema │ ├── common.protocol.header.CheckTransactionStateResponseHeader.schema │ ├── common.protocol.header.CloneGroupOffsetRequestHeader.schema │ ├── common.protocol.header.ConsumeMessageDirectlyResultRequestHeader.schema │ ├── common.protocol.header.ConsumerSendMsgBackRequestHeader.schema │ ├── common.protocol.header.CreateAccessConfigRequestHeader.schema │ ├── common.protocol.header.CreateTopicRequestHeader.schema │ ├── common.protocol.header.DeleteAccessConfigRequestHeader.schema │ ├── common.protocol.header.DeleteSubscriptionGroupRequestHeader.schema │ ├── common.protocol.header.DeleteTopicRequestHeader.schema │ ├── common.protocol.header.EndTransactionRequestHeader.schema │ ├── common.protocol.header.EndTransactionResponseHeader.schema │ ├── common.protocol.header.GetAllProducerInfoRequestHeader.schema │ ├── common.protocol.header.GetAllTopicConfigResponseHeader.schema │ ├── common.protocol.header.GetBrokerAclConfigResponseHeader.schema │ ├── common.protocol.header.GetBrokerClusterAclConfigResponseHeader.schema │ ├── common.protocol.header.GetBrokerConfigResponseHeader.schema │ ├── common.protocol.header.GetConsumeStatsInBrokerHeader.schema │ ├── common.protocol.header.GetConsumeStatsRequestHeader.schema │ ├── common.protocol.header.GetConsumerConnectionListRequestHeader.schema │ ├── common.protocol.header.GetConsumerListByGroupRequestHeader.schema │ ├── common.protocol.header.GetConsumerListByGroupResponseHeader.schema │ ├── common.protocol.header.GetConsumerRunningInfoRequestHeader.schema │ ├── common.protocol.header.GetConsumerStatusRequestHeader.schema │ ├── common.protocol.header.GetEarliestMsgStoretimeRequestHeader.schema │ ├── common.protocol.header.GetEarliestMsgStoretimeResponseHeader.schema │ ├── common.protocol.header.GetMaxOffsetRequestHeader.schema │ ├── common.protocol.header.GetMaxOffsetResponseHeader.schema │ ├── common.protocol.header.GetMinOffsetRequestHeader.schema │ ├── common.protocol.header.GetMinOffsetResponseHeader.schema │ ├── common.protocol.header.GetProducerConnectionListRequestHeader.schema │ ├── common.protocol.header.GetTopicStatsInfoRequestHeader.schema │ ├── common.protocol.header.GetTopicsByClusterRequestHeader.schema │ ├── common.protocol.header.NotifyConsumerIdsChangedRequestHeader.schema │ ├── common.protocol.header.PullMessageRequestHeader.schema │ ├── common.protocol.header.PullMessageResponseHeader.schema │ ├── common.protocol.header.QueryConsumeQueueRequestHeader.schema │ ├── common.protocol.header.QueryConsumeTimeSpanRequestHeader.schema │ ├── common.protocol.header.QueryConsumerOffsetRequestHeader.schema │ ├── common.protocol.header.QueryConsumerOffsetResponseHeader.schema │ ├── common.protocol.header.QueryCorrectionOffsetHeader.schema │ ├── common.protocol.header.QueryMessageRequestHeader.schema │ ├── common.protocol.header.QueryMessageResponseHeader.schema │ ├── common.protocol.header.QueryTopicConsumeByWhoRequestHeader.schema │ ├── common.protocol.header.ReplyMessageRequestHeader.schema │ ├── common.protocol.header.ResetOffsetRequestHeader.schema │ ├── common.protocol.header.ResumeCheckHalfMessageRequestHeader.schema │ ├── common.protocol.header.SearchOffsetRequestHeader.schema │ ├── common.protocol.header.SearchOffsetResponseHeader.schema │ ├── common.protocol.header.SendMessageRequestHeader.schema │ ├── common.protocol.header.SendMessageRequestHeaderV2.schema │ ├── common.protocol.header.SendMessageResponseHeader.schema │ ├── common.protocol.header.UnregisterClientRequestHeader.schema │ ├── common.protocol.header.UnregisterClientResponseHeader.schema │ ├── common.protocol.header.UpdateConsumerOffsetRequestHeader.schema │ ├── common.protocol.header.UpdateConsumerOffsetResponseHeader.schema │ ├── common.protocol.header.UpdateGlobalWhiteAddrsConfigRequestHeader.schema │ ├── common.protocol.header.ViewBrokerStatsDataRequestHeader.schema │ ├── common.protocol.header.ViewMessageRequestHeader.schema │ ├── common.protocol.header.ViewMessageResponseHeader.schema │ ├── common.protocol.header.filtersrv.RegisterFilterServerRequestHeader.schema │ ├── common.protocol.header.filtersrv.RegisterFilterServerResponseHeader.schema │ ├── common.protocol.header.filtersrv.RegisterMessageFilterClassRequestHeader.schema │ ├── common.protocol.header.namesrv.AddWritePermOfBrokerRequestHeader.schema │ ├── common.protocol.header.namesrv.AddWritePermOfBrokerResponseHeader.schema │ ├── common.protocol.header.namesrv.DeleteKVConfigRequestHeader.schema │ ├── common.protocol.header.namesrv.DeleteTopicFromNamesrvRequestHeader.schema │ ├── common.protocol.header.namesrv.GetKVConfigRequestHeader.schema │ ├── common.protocol.header.namesrv.GetKVConfigResponseHeader.schema │ ├── common.protocol.header.namesrv.GetKVListByNamespaceRequestHeader.schema │ ├── common.protocol.header.namesrv.GetRouteInfoRequestHeader.schema │ ├── common.protocol.header.namesrv.PutKVConfigRequestHeader.schema │ ├── common.protocol.header.namesrv.QueryDataVersionRequestHeader.schema │ ├── common.protocol.header.namesrv.QueryDataVersionResponseHeader.schema │ ├── common.protocol.header.namesrv.RegisterBrokerRequestHeader.schema │ ├── common.protocol.header.namesrv.RegisterBrokerResponseHeader.schema │ ├── common.protocol.header.namesrv.RegisterOrderTopicRequestHeader.schema │ ├── common.protocol.header.namesrv.UnRegisterBrokerRequestHeader.schema │ ├── common.protocol.header.namesrv.WipeWritePermOfBrokerRequestHeader.schema │ └── common.protocol.header.namesrv.WipeWritePermOfBrokerResponseHeader.schema ├── tieredstore/ │ ├── BUILD.bazel │ ├── README.md │ ├── pom.xml │ └── src/ │ ├── main/ │ │ └── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── tieredstore/ │ │ ├── MessageStoreConfig.java │ │ ├── MessageStoreExecutor.java │ │ ├── TieredMessageStore.java │ │ ├── common/ │ │ │ ├── AppendResult.java │ │ │ ├── FileSegmentType.java │ │ │ ├── GetMessageResultExt.java │ │ │ ├── GroupCommitContext.java │ │ │ └── SelectBufferResult.java │ │ ├── core/ │ │ │ ├── MessageStoreDispatcher.java │ │ │ ├── MessageStoreDispatcherImpl.java │ │ │ ├── MessageStoreFetcher.java │ │ │ ├── MessageStoreFetcherImpl.java │ │ │ ├── MessageStoreFilter.java │ │ │ └── MessageStoreTopicFilter.java │ │ ├── exception/ │ │ │ ├── TieredStoreErrorCode.java │ │ │ └── TieredStoreException.java │ │ ├── file/ │ │ │ ├── FlatAppendFile.java │ │ │ ├── FlatCommitLogFile.java │ │ │ ├── FlatConsumeQueueFile.java │ │ │ ├── FlatFileFactory.java │ │ │ ├── FlatFileInterface.java │ │ │ ├── FlatFileStore.java │ │ │ └── FlatMessageFile.java │ │ ├── index/ │ │ │ ├── IndexFile.java │ │ │ ├── IndexItem.java │ │ │ ├── IndexService.java │ │ │ ├── IndexStoreFile.java │ │ │ └── IndexStoreService.java │ │ ├── metadata/ │ │ │ ├── DefaultMetadataStore.java │ │ │ ├── MetadataStore.java │ │ │ └── entity/ │ │ │ ├── FileSegmentMetadata.java │ │ │ ├── QueueMetadata.java │ │ │ └── TopicMetadata.java │ │ ├── metrics/ │ │ │ ├── TieredStoreMetricsConstant.java │ │ │ └── TieredStoreMetricsManager.java │ │ ├── provider/ │ │ │ ├── FileSegment.java │ │ │ ├── FileSegmentFactory.java │ │ │ ├── FileSegmentProvider.java │ │ │ ├── MemoryFileSegment.java │ │ │ └── PosixFileSegment.java │ │ ├── stream/ │ │ │ ├── CommitLogInputStream.java │ │ │ ├── FileSegmentInputStream.java │ │ │ └── FileSegmentInputStreamFactory.java │ │ └── util/ │ │ ├── MessageFormatUtil.java │ │ └── MessageStoreUtil.java │ └── test/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── tieredstore/ │ │ ├── TieredMessageStoreTest.java │ │ ├── common/ │ │ │ ├── FileSegmentTypeTest.java │ │ │ ├── GetMessageResultExtTest.java │ │ │ ├── GroupCommitContextTest.java │ │ │ └── SelectBufferResultTest.java │ │ ├── core/ │ │ │ ├── MessageStoreDispatcherImplTest.java │ │ │ ├── MessageStoreFetcherImplTest.java │ │ │ └── MessageStoreTopicFilterTest.java │ │ ├── exception/ │ │ │ └── TieredStoreExceptionTest.java │ │ ├── file/ │ │ │ ├── FlatAppendFileTest.java │ │ │ ├── FlatCommitLogFileTest.java │ │ │ ├── FlatFileFactoryTest.java │ │ │ ├── FlatFileStoreTest.java │ │ │ └── FlatMessageFileTest.java │ │ ├── index/ │ │ │ ├── IndexItemTest.java │ │ │ ├── IndexStoreFileTest.java │ │ │ ├── IndexStoreServiceBenchTest.java │ │ │ └── IndexStoreServiceTest.java │ │ ├── metadata/ │ │ │ └── DefaultMetadataStoreTest.java │ │ ├── metrics/ │ │ │ └── TieredStoreMetricsManagerTest.java │ │ ├── provider/ │ │ │ ├── FileSegmentFactoryTest.java │ │ │ ├── FileSegmentTest.java │ │ │ └── MemoryFileSegmentTest.java │ │ ├── stream/ │ │ │ └── FileSegmentInputStreamTest.java │ │ └── util/ │ │ ├── MessageFormatUtilTest.java │ │ └── MessageStoreUtilTest.java │ └── resources/ │ └── rmq.logback-test.xml └── tools/ ├── BUILD.bazel ├── pom.xml └── src/ ├── main/ │ ├── java/ │ │ └── org/ │ │ └── apache/ │ │ └── rocketmq/ │ │ └── tools/ │ │ ├── admin/ │ │ │ ├── DefaultMQAdminExt.java │ │ │ ├── DefaultMQAdminExtImpl.java │ │ │ ├── MQAdminExt.java │ │ │ ├── MQAdminUtils.java │ │ │ ├── api/ │ │ │ │ ├── BrokerOperatorResult.java │ │ │ │ ├── MessageTrack.java │ │ │ │ └── TrackType.java │ │ │ └── common/ │ │ │ ├── AdminToolHandler.java │ │ │ ├── AdminToolResult.java │ │ │ └── AdminToolsResultCodeEnum.java │ │ ├── command/ │ │ │ ├── CommandUtil.java │ │ │ ├── MQAdminStartup.java │ │ │ ├── SubCommand.java │ │ │ ├── SubCommandException.java │ │ │ ├── auth/ │ │ │ │ ├── CopyAclsSubCommand.java │ │ │ │ ├── CopyUsersSubCommand.java │ │ │ │ ├── CreateAclSubCommand.java │ │ │ │ ├── CreateUserSubCommand.java │ │ │ │ ├── DeleteAclSubCommand.java │ │ │ │ ├── DeleteUserSubCommand.java │ │ │ │ ├── GetAclSubCommand.java │ │ │ │ ├── GetUserSubCommand.java │ │ │ │ ├── ListAclSubCommand.java │ │ │ │ ├── ListUserSubCommand.java │ │ │ │ ├── UpdateAclSubCommand.java │ │ │ │ └── UpdateUserSubCommand.java │ │ │ ├── broker/ │ │ │ │ ├── BrokerConsumeStatsSubCommand.java │ │ │ │ ├── BrokerStatusSubCommand.java │ │ │ │ ├── CleanExpiredCQSubCommand.java │ │ │ │ ├── CleanUnusedTopicCommand.java │ │ │ │ ├── CommitLogSetReadAheadSubCommand.java │ │ │ │ ├── DeleteExpiredCommitLogSubCommand.java │ │ │ │ ├── GetBrokerConfigCommand.java │ │ │ │ ├── GetBrokerEpochSubCommand.java │ │ │ │ ├── GetColdDataFlowCtrInfoSubCommand.java │ │ │ │ ├── RemoveColdDataFlowCtrGroupConfigSubCommand.java │ │ │ │ ├── ResetMasterFlushOffsetSubCommand.java │ │ │ │ ├── SendMsgStatusCommand.java │ │ │ │ ├── SwitchTimerEngineSubCommand.java │ │ │ │ ├── UpdateBrokerConfigSubCommand.java │ │ │ │ └── UpdateColdDataFlowCtrGroupConfigSubCommand.java │ │ │ ├── cluster/ │ │ │ │ ├── CLusterSendMsgRTCommand.java │ │ │ │ └── ClusterListSubCommand.java │ │ │ ├── connection/ │ │ │ │ ├── ConsumerConnectionSubCommand.java │ │ │ │ └── ProducerConnectionSubCommand.java │ │ │ ├── consumer/ │ │ │ │ ├── ConsumerProgressSubCommand.java │ │ │ │ ├── ConsumerStatusSubCommand.java │ │ │ │ ├── ConsumerSubCommand.java │ │ │ │ ├── DeleteSubscriptionGroupCommand.java │ │ │ │ ├── GetConsumerConfigSubCommand.java │ │ │ │ ├── SetConsumeModeSubCommand.java │ │ │ │ ├── StartMonitoringSubCommand.java │ │ │ │ ├── UpdateSubGroupListSubCommand.java │ │ │ │ └── UpdateSubGroupSubCommand.java │ │ │ ├── container/ │ │ │ │ ├── AddBrokerSubCommand.java │ │ │ │ └── RemoveBrokerSubCommand.java │ │ │ ├── controller/ │ │ │ │ ├── CleanControllerBrokerMetaSubCommand.java │ │ │ │ ├── GetControllerConfigSubCommand.java │ │ │ │ ├── GetControllerMetaDataSubCommand.java │ │ │ │ ├── ReElectMasterSubCommand.java │ │ │ │ └── UpdateControllerConfigSubCommand.java │ │ │ ├── export/ │ │ │ │ ├── ExportConfigsCommand.java │ │ │ │ ├── ExportMetadataCommand.java │ │ │ │ ├── ExportMetadataInRocksDBCommand.java │ │ │ │ ├── ExportMetricsCommand.java │ │ │ │ └── ExportPopRecordCommand.java │ │ │ ├── ha/ │ │ │ │ ├── GetSyncStateSetSubCommand.java │ │ │ │ └── HAStatusSubCommand.java │ │ │ ├── lite/ │ │ │ │ ├── GetBrokerLiteInfoSubCommand.java │ │ │ │ ├── GetLiteClientInfoSubCommand.java │ │ │ │ ├── GetLiteGroupInfoSubCommand.java │ │ │ │ ├── GetLiteTopicInfoSubCommand.java │ │ │ │ ├── GetParentTopicInfoSubCommand.java │ │ │ │ └── TriggerLiteDispatchSubCommand.java │ │ │ ├── message/ │ │ │ │ ├── CheckMsgSendRTCommand.java │ │ │ │ ├── ConsumeMessageCommand.java │ │ │ │ ├── DecodeMessageIdCommond.java │ │ │ │ ├── DumpCompactionLogCommand.java │ │ │ │ ├── PrintMessageByQueueCommand.java │ │ │ │ ├── PrintMessageSubCommand.java │ │ │ │ ├── QueryMsgByIdSubCommand.java │ │ │ │ ├── QueryMsgByKeySubCommand.java │ │ │ │ ├── QueryMsgByOffsetSubCommand.java │ │ │ │ ├── QueryMsgByUniqueKeySubCommand.java │ │ │ │ ├── QueryMsgTraceByIdSubCommand.java │ │ │ │ └── SendMessageCommand.java │ │ │ ├── metadata/ │ │ │ │ └── RocksDBConfigToJsonCommand.java │ │ │ ├── namesrv/ │ │ │ │ ├── AddWritePermSubCommand.java │ │ │ │ ├── DeleteKvConfigCommand.java │ │ │ │ ├── GetNamesrvConfigCommand.java │ │ │ │ ├── UpdateKvConfigCommand.java │ │ │ │ ├── UpdateNamesrvConfigCommand.java │ │ │ │ └── WipeWritePermSubCommand.java │ │ │ ├── offset/ │ │ │ │ ├── CloneGroupOffsetCommand.java │ │ │ │ ├── GetConsumerStatusCommand.java │ │ │ │ ├── ResetOffsetByTimeCommand.java │ │ │ │ ├── ResetOffsetByTimeOldCommand.java │ │ │ │ └── SkipAccumulationSubCommand.java │ │ │ ├── producer/ │ │ │ │ └── ProducerSubCommand.java │ │ │ ├── queue/ │ │ │ │ ├── CheckRocksdbCqWriteProgressCommand.java │ │ │ │ └── QueryConsumeQueueCommand.java │ │ │ ├── stats/ │ │ │ │ └── StatsAllSubCommand.java │ │ │ └── topic/ │ │ │ ├── AllocateMQSubCommand.java │ │ │ ├── DeleteTopicSubCommand.java │ │ │ ├── RebalanceResult.java │ │ │ ├── RemappingStaticTopicSubCommand.java │ │ │ ├── TopicClusterSubCommand.java │ │ │ ├── TopicListSubCommand.java │ │ │ ├── TopicRouteSubCommand.java │ │ │ ├── TopicStatusSubCommand.java │ │ │ ├── UpdateOrderConfCommand.java │ │ │ ├── UpdateStaticTopicSubCommand.java │ │ │ ├── UpdateTopicListSubCommand.java │ │ │ ├── UpdateTopicPermSubCommand.java │ │ │ └── UpdateTopicSubCommand.java │ │ └── monitor/ │ │ ├── DefaultMonitorListener.java │ │ ├── DeleteMsgsEvent.java │ │ ├── FailedMsgs.java │ │ ├── MonitorConfig.java │ │ ├── MonitorListener.java │ │ ├── MonitorService.java │ │ └── UndoneMsgs.java │ └── resources/ │ └── rmq.tools.logback.xml └── test/ ├── java/ │ └── org/ │ └── apache/ │ └── rocketmq/ │ └── tools/ │ ├── admin/ │ │ ├── DefaultMQAdminExtImplTest.java │ │ └── DefaultMQAdminExtTest.java │ ├── command/ │ │ ├── CommandUtilTest.java │ │ ├── broker/ │ │ │ ├── BrokerConsumeStatsSubCommandTest.java │ │ │ ├── BrokerStatusSubCommandTest.java │ │ │ ├── CleanExpiredCQSubCommandTest.java │ │ │ ├── CleanUnusedTopicCommandTest.java │ │ │ ├── DeleteExpiredCommitLogSubCommandTest.java │ │ │ ├── GetBrokerConfigCommandTest.java │ │ │ ├── SendMsgStatusCommandTest.java │ │ │ ├── SwitchTimerEngineSubCommandTest.java │ │ │ └── UpdateBrokerConfigSubCommandTest.java │ │ ├── connection/ │ │ │ ├── ConsumerConnectionSubCommandTest.java │ │ │ └── ProducerConnectionSubCommandTest.java │ │ ├── consumer/ │ │ │ ├── ConsumerProgressSubCommandTest.java │ │ │ ├── ConsumerStatusSubCommandTest.java │ │ │ ├── GetConsumerConfigSubCommandTest.java │ │ │ └── UpdateSubGroupListSubCommandTest.java │ │ ├── lite/ │ │ │ ├── GetBrokerLiteInfoSubCommandTest.java │ │ │ └── GetLiteClientInfoSubCommandTest.java │ │ ├── message/ │ │ │ ├── ConsumeMessageCommandTest.java │ │ │ ├── QueryMsgByUniqueKeySubCommandTest.java │ │ │ ├── QueryMsgTraceByIdSubCommandTest.java │ │ │ └── SendMessageCommandTest.java │ │ ├── metadata/ │ │ │ └── ExportMetadataInRocksDBCommandTest.java │ │ ├── namesrv/ │ │ │ ├── AddWritePermSubCommandTest.java │ │ │ ├── GetNamesrvConfigCommandTest.java │ │ │ ├── UpdateKvConfigCommandTest.java │ │ │ └── WipeWritePermSubCommandTest.java │ │ ├── offset/ │ │ │ ├── GetConsumerStatusCommandTest.java │ │ │ ├── ResetOffsetByTimeCommandTest.java │ │ │ ├── ResetOffsetByTimeOldCommandTest.java │ │ │ └── SkipAccumulationCommandTest.java │ │ ├── producer/ │ │ │ └── ProducerSubCommandTest.java │ │ ├── server/ │ │ │ ├── NameServerMocker.java │ │ │ └── ServerResponseMocker.java │ │ └── topic/ │ │ ├── AllocateMQSubCommandTest.java │ │ ├── DeleteTopicSubCommandTest.java │ │ ├── TopicClusterSubCommandTest.java │ │ ├── TopicRouteSubCommandTest.java │ │ ├── TopicStatusSubCommandTest.java │ │ ├── UpdateOrderConfCommandTest.java │ │ ├── UpdateTopicListSubCommandTest.java │ │ ├── UpdateTopicPermSubCommandTest.java │ │ └── UpdateTopicSubCommandTest.java │ └── monitor/ │ ├── DefaultMonitorListenerTest.java │ └── MonitorServiceTest.java └── resources/ └── rmq.logback-test.xml