This is an automated email from the ASF dual-hosted git repository. wave pushed a commit to branch dave2wave-branch-14693 in repository https://gitbox.apache.org/repos/asf/pulsar.git
commit 72f0fab3970e51bc26a37b8d7b2a25fdf7d32140 Merge: ff5b0a6 b17f39e Author: Dave Fisher <[email protected]> AuthorDate: Thu Jan 27 11:38:35 2022 -0800 Merge branch 'master' of https://github.com/apache/pulsar ...oker-gp1.yaml => ci-unit-broker-broker-gp.yaml} | 18 +- .github/workflows/ci-unit-broker-broker-gp2.yaml | 99 - README.md | 10 + bin/bookkeeper | 4 + bin/pulsar | 4 + bouncy-castle/bc/pom.xml | 14 + .../apache/pulsar/bcloader/BouncyCastleLoader.java | 1 - .../org/apache/pulsar/bcloader/package-info.java | 11 +- build/run_unit_group.sh | 8 + buildtools/pom.xml | 28 +- .../org/apache/pulsar/tests/ThreadDumpUtil.java | 11 +- conf/bookkeeper.conf | 33 + conf/broker.conf | 20 +- conf/standalone.conf | 2 +- conf/websocket.conf | 5 +- deployment/terraform-ansible/templates/broker.conf | 2 +- distribution/server/src/assemble/LICENSE.bin.txt | 198 +- .../standalone-dashboard/docker-compose.yml | 43 - docker/pulsar/scripts/gen-yml-from-env.py | 2 +- jclouds-shaded/pom.xml | 10 + kafka-connect-avro-converter-shaded/pom.xml | 12 +- managed-ledger/pom.xml | 13 + .../apache/bookkeeper/mledger/AsyncCallbacks.java | 3 +- .../apache/bookkeeper/mledger/LedgerOffloader.java | 14 +- .../apache/bookkeeper/mledger/ManagedCursor.java | 23 +- .../apache/bookkeeper/mledger/ManagedLedger.java | 33 +- .../bookkeeper/mledger/ManagedLedgerConfig.java | 33 +- .../bookkeeper/mledger/ManagedLedgerFactory.java | 4 +- .../apache/bookkeeper/mledger/ReadOnlyCursor.java | 6 +- .../impl/EntryCacheDefaultEvictionPolicy.java | 1 - .../bookkeeper/mledger/impl/EntryCacheImpl.java | 9 +- .../bookkeeper/mledger/impl/EntryCacheManager.java | 8 +- .../apache/bookkeeper/mledger/impl/EntryImpl.java | 5 +- .../mledger/impl/LedgerMetadataUtils.java | 24 +- .../mledger/impl/ManagedCursorContainer.java | 4 +- .../bookkeeper/mledger/impl/ManagedCursorImpl.java | 107 +- .../mledger/impl/ManagedLedgerFactoryImpl.java | 2 +- .../bookkeeper/mledger/impl/ManagedLedgerImpl.java | 172 +- .../apache/bookkeeper/mledger/impl/MetaStore.java | 21 +- .../bookkeeper/mledger/impl/MetaStoreImpl.java | 52 +- .../mledger/impl/NonDurableCursorImpl.java | 5 +- .../mledger/impl/NullLedgerOffloader.java | 3 +- .../mledger/impl/OffloadSegmentInfoImpl.java | 4 +- .../apache/bookkeeper/mledger/impl/OpAddEntry.java | 44 +- .../bookkeeper/mledger/impl/OpFindNewest.java | 9 +- .../bookkeeper/mledger/impl/OpReadEntry.java | 6 +- .../bookkeeper/mledger/impl/PositionImpl.java | 4 +- .../mledger/impl/PositionImplRecyclable.java | 5 +- .../mledger/impl/ReadOnlyCursorImpl.java | 4 +- .../mledger/impl/ReadOnlyManagedLedgerImpl.java | 12 +- .../intercept/ManagedLedgerInterceptor.java | 16 +- .../bookkeeper/mledger/intercept/package-info.java | 9 +- .../bookkeeper/mledger/offload/OffloadUtils.java | 13 +- .../bookkeeper/mledger/offload/OffloaderUtils.java | 19 +- .../bookkeeper/mledger/offload/Offloaders.java | 4 +- .../mledger/offload/OffloadersCache.java | 3 +- .../bookkeeper/mledger/offload/package-info.java | 9 +- .../mledger/util/AbstractCASReferenceCounted.java | 10 +- .../apache/bookkeeper/mledger/util/Futures.java | 2 +- .../mledger/util/PositionAckSetUtil.java | 8 +- .../apache/bookkeeper/mledger/util/RangeCache.java | 1 - .../bookkeeper/mledger/util/StatsBuckets.java | 1 - .../mledger/impl/EntryCacheManagerTest.java | 2 +- .../mledger/impl/ManagedCursorContainerTest.java | 4 +- .../bookkeeper/mledger/impl/ManagedCursorTest.java | 46 +- .../impl/ManagedLedgerFactoryShutdownTest.java | 4 +- .../mledger/impl/ManagedLedgerTerminationTest.java | 2 +- .../bookkeeper/mledger/impl/ManagedLedgerTest.java | 61 +- .../mledger/impl/NonDurableCursorTest.java | 52 +- .../mledger/impl/OffloadPrefixReadTest.java | 4 +- .../bookkeeper/mledger/impl/OffloadPrefixTest.java | 4 +- .../mledger/impl/ReadOnlyCursorTest.java | 16 +- .../bookkeeper/test/MockedBookKeeperTestCase.java | 2 +- pom.xml | 142 +- pulsar-broker-auth-athenz/pom.xml | 15 + .../AuthenticationProviderAthenz.java | 21 +- .../pulsar/broker/authentication/package-info.java | 9 +- pulsar-broker-auth-sasl/pom.xml | 14 + .../authentication/AuthenticationProviderSasl.java | 15 +- .../broker/authentication/PulsarSaslServer.java | 3 - .../authentication/SaslAuthenticationState.java | 2 - .../broker/authentication/SaslRoleToken.java | 2 - .../broker/authentication/SaslRoleTokenSigner.java | 2 - .../pulsar/broker/authentication/package-info.java | 9 +- pulsar-broker-common/pom.xml | 18 +- .../rackawareness/BookieRackAffinityMapping.java | 8 +- .../IsolatedBookieEnsemblePlacementPolicy.java | 10 +- .../pulsar/bookie/rackawareness/package-info.java | 12 +- .../apache/pulsar/broker/ServiceConfiguration.java | 260 +- .../authentication/AuthenticationDataCommand.java | 1 - .../authentication/AuthenticationDataHttp.java | 1 - .../authentication/AuthenticationDataHttps.java | 1 - .../authentication/AuthenticationDataSource.java | 14 +- .../authentication/AuthenticationProvider.java | 7 +- .../AuthenticationProviderBasic.java | 17 +- .../authentication/AuthenticationProviderList.java | 8 +- .../authentication/AuthenticationProviderTls.java | 9 +- .../AuthenticationProviderToken.java | 38 +- .../authentication/AuthenticationService.java | 9 +- .../broker/authentication/AuthenticationState.java | 6 +- .../OneStageAuthenticationState.java | 3 +- .../metrics/AuthenticationMetrics.java | 2 +- .../authentication/metrics/package-info.java | 12 +- .../pulsar/broker/authentication/package-info.java | 12 +- .../authentication/utils/AuthTokenUtils.java | 18 +- .../broker/authentication/utils/package-info.java | 12 +- .../authorization/AuthorizationProvider.java | 67 +- .../broker/authorization/AuthorizationService.java | 231 +- .../MultiRolesTokenAuthorizationProvider.java | 49 +- .../authorization/PulsarAuthorizationProvider.java | 113 +- .../pulsar/broker/authorization/package-info.java | 12 +- .../apache/pulsar/broker/cache/package-info.java | 12 +- .../org/apache/pulsar/broker/package-info.java | 12 +- .../pulsar/broker/resources/BrokerResources.java | 1 - .../pulsar/broker/resources/ClusterResources.java | 4 +- .../resources/DynamicConfigurationResources.java | 1 - .../broker/resources/LocalPoliciesResources.java | 3 +- .../broker/resources/MetadataStoreCacheLoader.java | 7 +- .../broker/resources/NamespaceResources.java | 6 +- .../pulsar/broker/resources/PulsarResources.java | 4 +- .../broker/resources/ResourceGroupResources.java | 1 - .../pulsar/broker/resources/package-info.java | 12 +- .../broker/validator/BindAddressValidator.java | 14 +- .../validator/MultipleListenerValidator.java | 32 +- .../pulsar/broker/validator/package-info.java | 12 +- .../pulsar/broker/web/AuthenticationFilter.java | 9 +- .../broker/web/DisableDebugHttpMethodFilter.java | 9 +- .../pulsar/broker/web/JsonMapperProvider.java | 2 - .../pulsar/broker/web/RateLimitingFilter.java | 3 - .../pulsar/broker/web/WebExecutorThreadPool.java | 2 - .../org/apache/pulsar/broker/web/package-info.java | 12 +- .../web/plugin/servlet/AdditionalServlet.java | 6 +- .../plugin/servlet/AdditionalServletMetadata.java | 2 +- .../web/plugin/servlet/AdditionalServletUtils.java | 5 +- .../servlet/AdditionalServletWithClassLoader.java | 1 - .../web/plugin/servlet/AdditionalServlets.java | 4 +- .../pulsar/common/configuration/FieldContext.java | 22 +- .../common/configuration/PulsarConfiguration.java | 4 +- .../configuration/PulsarConfigurationLoader.java | 13 +- .../pulsar/common/configuration/VipStatus.java | 1 - ...{PulsarConfiguration.java => package-info.java} | 12 +- .../org/apache/pulsar/zookeeper/package-info.java | 12 +- .../BookieRackAffinityMappingTest.java | 51 +- .../IsolatedBookieEnsemblePlacementPolicyTest.java | 2 +- .../AuthenticationProviderTokenTest.java | 3 +- pulsar-broker/pom.xml | 8 + .../apache/pulsar/PulsarClusterMetadataSetup.java | 94 +- .../org/apache/pulsar/broker/PulsarService.java | 58 +- .../apache/pulsar/broker/admin/AdminResource.java | 38 +- .../pulsar/broker/admin/impl/BrokersBase.java | 3 +- .../pulsar/broker/admin/impl/FunctionsBase.java | 43 +- .../pulsar/broker/admin/impl/NamespacesBase.java | 83 +- .../broker/admin/impl/PersistentTopicsBase.java | 2932 ++++++++++---------- .../broker/admin/impl/ResourceGroupsBase.java | 24 +- .../broker/admin/impl/SchemasResourceBase.java | 42 +- .../apache/pulsar/broker/admin/impl/SinksBase.java | 38 +- .../pulsar/broker/admin/impl/SourcesBase.java | 42 +- .../apache/pulsar/broker/admin/v1/Namespaces.java | 16 +- .../pulsar/broker/admin/v1/PersistentTopics.java | 4 +- .../apache/pulsar/broker/admin/v2/Namespaces.java | 5 +- .../pulsar/broker/admin/v2/PersistentTopics.java | 54 +- .../pulsar/broker/admin/v3/PersistentTopics.java | 93 + .../BrokerInterceptorWithClassLoader.java | 57 +- .../impl/GenericBrokerHostUsageImpl.java | 4 +- .../loadbalance/impl/LinuxBrokerHostUsageImpl.java | 9 +- .../broker/loadbalance/impl/LoadManagerShared.java | 18 +- .../loadbalance/impl/ModularLoadManagerImpl.java | 10 +- .../loadbalance/impl/SimpleLoadManagerImpl.java | 7 +- .../loadbalance/impl/UniformLoadShedder.java | 52 +- .../pulsar/broker/namespace/NamespaceService.java | 13 +- .../pulsar/broker/resourcegroup/ResourceGroup.java | 12 +- .../resourcegroup/ResourceGroupPublishLimiter.java | 6 +- .../org/apache/pulsar/broker/rest/TopicsBase.java | 3 +- .../broker/service/AbstractBaseDispatcher.java | 52 +- .../pulsar/broker/service/AbstractTopic.java | 96 +- .../pulsar/broker/service/BrokerService.java | 88 +- .../broker/service/BrokerServiceException.java | 12 + ...ConsistentHashingStickyKeyConsumerSelector.java | 5 - .../org/apache/pulsar/broker/service/Consumer.java | 190 +- ...ashRangeAutoSplitStickyKeyConsumerSelector.java | 5 - .../org/apache/pulsar/broker/service/Producer.java | 32 +- .../apache/pulsar/broker/service/ServerCnx.java | 139 +- .../SystemTopicBasedTopicPoliciesService.java | 12 +- .../org/apache/pulsar/broker/service/Topic.java | 27 +- .../broker/service/TopicPoliciesService.java | 6 +- .../NonPersistentDispatcherMultipleConsumers.java | 7 +- ...onPersistentDispatcherSingleActiveConsumer.java | 7 +- .../service/nonpersistent/NonPersistentTopic.java | 38 +- .../service/persistent/DispatchRateLimiter.java | 33 +- .../service/persistent/MessageDeduplication.java | 27 +- .../PersistentDispatcherMultipleConsumers.java | 72 +- .../PersistentDispatcherSingleActiveConsumer.java | 103 +- .../service/persistent/PersistentReplicator.java | 2 +- ...istentStickyKeyDispatcherMultipleConsumers.java | 3 + .../service/persistent/PersistentSubscription.java | 8 +- .../broker/service/persistent/PersistentTopic.java | 317 +-- .../broker/service/persistent/SystemTopic.java | 9 +- .../service/schema/BookkeeperSchemaStorage.java | 2 +- .../ProtobufNativeSchemaDataValidator.java | 2 +- .../stats/prometheus/NamespaceStatsAggregator.java | 1 + .../stats/prometheus/PrometheusMetricsServlet.java | 3 +- .../pulsar/broker/stats/prometheus/TopicStats.java | 4 + .../stats/prometheus/TransactionAggregator.java | 28 +- .../pulsar/broker/systopic/SystemTopicClient.java | 6 +- .../buffer/impl/InMemTransactionBuffer.java | 2 +- .../buffer/impl/TopicTransactionBuffer.java | 26 +- .../buffer/impl/TransactionBufferDisable.java | 2 +- .../transaction/pendingack/PendingAckHandle.java | 15 +- .../pendingack/PendingAckReplyCallBack.java | 6 + .../pendingack/impl/MLPendingAckReplyCallBack.java | 11 +- .../pendingack/impl/MLPendingAckStore.java | 7 +- .../pendingack/impl/PendingAckHandleDisabled.java | 12 +- .../pendingack/impl/PendingAckHandleImpl.java | 336 ++- .../pulsar/broker/web/PulsarWebResource.java | 82 +- .../apache/pulsar/broker/web/RestException.java | 5 +- .../pulsar/compaction/CompactedTopicImpl.java | 6 +- .../{AdminApiTest2.java => AdminApi2Test.java} | 92 +- .../pulsar/broker/admin/AdminApiClusterTest.java | 2 +- .../broker/admin/AdminApiDelayedDelivery.java | 5 +- .../admin/AdminApiDynamicConfigurationsTest.java | 2 +- .../broker/admin/AdminApiGetLastMessageIdTest.java | 2 +- .../broker/admin/AdminApiHealthCheckTest.java | 2 +- .../broker/admin/AdminApiMaxUnackedMessages.java | 2 +- .../broker/admin/AdminApiMultiBrokersTest.java | 71 + .../pulsar/broker/admin/AdminApiOffloadTest.java | 2 +- .../broker/admin/AdminApiSchemaAutoUpdateTest.java | 22 +- .../pulsar/broker/admin/AdminApiSchemaTest.java | 55 +- .../admin/AdminApiSchemaValidationEnforced.java | 2 +- .../apache/pulsar/broker/admin/AdminApiTest.java | 2 +- .../pulsar/broker/admin/AdminApiTlsAuthTest.java | 2 +- .../pulsar/broker/admin/AdminResourceTest.java | 2 +- .../org/apache/pulsar/broker/admin/AdminTest.java | 2 +- .../pulsar/broker/admin/AdminTopicApiTest.java | 2 +- .../apache/pulsar/broker/admin/BookiesApiTest.java | 2 +- .../broker/admin/BrokerAdminClientTlsAuthTest.java | 2 +- .../broker/admin/CreateSubscriptionTest.java | 2 +- .../broker/admin/IncrementPartitionsTest.java | 2 +- .../broker/admin/MaxUnackedMessagesTest.java | 2 +- .../apache/pulsar/broker/admin/NamespacesTest.java | 2 +- .../pulsar/broker/admin/PersistentTopicsTest.java | 88 +- .../pulsar/broker/admin/ResourceGroupsTest.java | 12 +- .../pulsar/broker/admin/TopicAutoCreationTest.java | 2 +- .../broker/admin/TopicPoliciesDisableTest.java | 2 +- .../pulsar/broker/admin/TopicPoliciesTest.java | 43 +- .../apache/pulsar/broker/admin/TopicsAuthTest.java | 193 ++ ...V1_AdminApiTest2.java => V1_AdminApi2Test.java} | 4 +- .../pulsar/broker/admin/v1/V1_AdminApiTest.java | 2 +- .../broker/admin/v3/PackagesApiNotEnabledTest.java | 2 +- .../pulsar/broker/admin/v3/PackagesApiTest.java | 2 +- .../broker/auth/MockedPulsarServiceBaseTest.java | 1 + .../pulsar/broker/cache/BundlesQuotasTest.java | 2 +- .../BrokerInterceptorWithClassLoaderTest.java | 147 +- .../loadbalance/ModularLoadManagerImplTest.java | 14 +- .../loadbalance/SimpleLoadManagerImplTest.java | 2 - .../broker/namespace/NamespaceServiceTest.java | 43 + .../RGUsageMTAggrWaitForAllMsgsTest.java | 19 +- .../ResourceGroupConfigListenerTest.java | 80 +- .../ResourceGroupRateLimiterTest.java | 4 +- .../resourcegroup/ResourceGroupServiceTest.java | 16 +- .../ResourceGroupUsageAggregationTest.java | 4 +- .../broker/service/BacklogQuotaManagerTest.java | 1 + .../pulsar/broker/service/BatchMessageTest.java | 2 +- .../BatchMessageWithBatchIndexLevelTest.java | 108 + .../pulsar/broker/service/BkEnsemblesTestBase.java | 5 +- .../BrokerServiceAutoSubscriptionCreationTest.java | 14 + .../pulsar/broker/service/BrokerServiceTest.java | 2 +- .../broker/service/DistributedIdGeneratorTest.java | 2 +- .../broker/service/InactiveTopicDeleteTest.java | 53 +- .../PersistentDispatcherFailoverConsumerTest.java | 97 +- .../broker/service/PersistentTopicE2ETest.java | 4 +- .../pulsar/broker/service/PersistentTopicTest.java | 66 +- .../pulsar/broker/service/RackAwareTest.java | 65 +- .../pulsar/broker/service/ReplicatorTest.java | 2 +- .../service/ReplicatorTopicPoliciesTest.java | 104 + .../broker/service/SubscriptionSeekTest.java | 2 +- .../SystemTopicBasedTopicPoliciesServiceTest.java | 9 +- ...ntStickyKeyDispatcherMultipleConsumersTest.java | 43 +- ...ntStickyKeyDispatcherMultipleConsumersTest.java | 65 +- .../persistent/PersistentSubscriptionTest.java | 5 +- .../service/persistent/TopicDuplicationTest.java | 6 +- .../pulsar/broker/stats/PrometheusMetricsTest.java | 150 + .../broker/stats/TransactionMetricsTest.java | 75 + .../systopic/PartitionedSystemTopicTest.java | 33 + .../broker/transaction/TransactionProduceTest.java | 2 +- .../pulsar/broker/transaction/TransactionTest.java | 39 +- .../pendingack/PendingAckPersistentTest.java | 3 +- .../api/AuthorizationProducerConsumerTest.java | 128 - .../apache/pulsar/client/api/RetryTopicTest.java | 6 +- .../client/api/SimpleProducerConsumerTest.java | 37 +- .../SubscriptionMessageDispatchThrottlingTest.java | 202 ++ ...kenOauth2AuthenticatedProducerConsumerTest.java | 2 +- .../client/impl/BrokerClientIntegrationTest.java | 54 + .../pulsar/client/impl/MessageChunkingTest.java | 25 + .../pulsar/client/impl/MessageParserTest.java | 2 +- .../pulsar/client/impl/MultiTopicsReaderTest.java | 26 +- .../pulsar/client/impl/NegativeAcksTest.java | 6 +- .../client/impl/PatternTopicsConsumerImplTest.java | 2 +- .../pulsar/client/impl/ProducerSemaphoreTest.java | 14 + .../apache/pulsar/client/impl/RetryUtilTest.java | 13 +- .../impl/UnAcknowledgedMessagesTimeoutTest.java | 250 +- .../worker/PulsarFunctionLocalRunTest.java | 2 +- .../worker/PulsarFunctionMetadataStoreTest.java | 2 +- .../SchemaCompatibilityCheckTest.java | 6 +- .../SchemaTypeCompatibilityCheckTest.java | 8 +- .../websocket/proxy/ProxyAuthenticationTest.java | 2 +- .../websocket/proxy/ProxyAuthorizationTest.java | 3 +- .../websocket/proxy/ProxyConfigurationTest.java | 2 +- .../websocket/proxy/ProxyPublishConsumeTest.java | 2 +- .../proxy/ProxyPublishConsumeTlsTest.java | 3 +- .../proxy/v1/V1_ProxyAuthenticationTest.java | 2 +- pulsar-client-1x-base/pom.xml | 14 + .../pulsar/client/api/ClientConfiguration.java | 24 +- .../org/apache/pulsar/client/api/Consumer.java | 16 +- .../pulsar/client/api/ConsumerConfiguration.java | 40 +- .../apache/pulsar/client/api/MessageBuilder.java | 13 +- .../apache/pulsar/client/api/MessageListener.java | 2 +- .../org/apache/pulsar/client/api/Producer.java | 8 +- .../pulsar/client/api/ProducerConfiguration.java | 17 +- .../org/apache/pulsar/client/api/PulsarClient.java | 25 +- .../java/org/apache/pulsar/client/api/Reader.java | 6 +- .../pulsar/client/api/ReaderConfiguration.java | 9 +- .../apache/pulsar/client/api/ReaderListener.java | 2 +- .../org/apache/pulsar/client/api/package-info.java | 12 +- .../pulsar/client/impl/MessageBuilderImpl.java | 2 - .../apache/pulsar/client/impl/package-info.java | 11 +- .../pulsar/client/impl/v1/ConsumerV1Impl.java | 1 - .../pulsar/client/impl/v1/ProducerV1Impl.java | 1 - .../pulsar/client/impl/v1/PulsarClientV1Impl.java | 1 - .../apache/pulsar/client/impl/v1/ReaderV1Impl.java | 1 - .../apache/pulsar/client/impl/v1/package-info.java | 11 +- .../org/apache/pulsar/client/admin/Topics.java | 71 +- .../common/partition/PartitionedTopicMetadata.java | 13 +- .../pulsar/common/policies/data/Policies.java | 3 +- .../pulsar/common/policies/data/ResourceGroup.java | 8 +- .../policies/data/SchemaCompatibilityStrategy.java | 5 +- .../common/policies/data/impl/BookieInfoImpl.java | 10 + .../policies/data/loadbalancer/ResourceUsage.java | 30 +- .../pulsar/client/admin/internal/TopicsImpl.java | 50 +- .../org/apache/pulsar/client/api/Consumer.java | 4 +- .../apache/pulsar/client/api/ConsumerBuilder.java | 21 +- .../apache/pulsar/client/api/ProducerBuilder.java | 7 +- .../org/apache/pulsar/client/api/PulsarClient.java | 21 + ...deliveryBackoff.java => RedeliveryBackoff.java} | 6 +- .../org/apache/pulsar/client/api/TableView.java | 106 + .../apache/pulsar/client/api/TableViewBuilder.java | 95 + pulsar-client-auth-athenz/pom.xml | 14 + .../client/impl/auth/AuthenticationAthenz.java | 23 +- .../client/impl/auth/AuthenticationDataAthenz.java | 4 +- .../pulsar/client/impl/auth/package-info.java | 11 +- pulsar-client-auth-sasl/pom.xml | 14 + .../client/impl/auth/AuthenticationSasl.java | 17 +- .../pulsar/client/impl/auth/PulsarSaslClient.java | 5 +- .../impl/auth/SaslAuthenticationDataProvider.java | 2 - .../pulsar/client/impl/auth/package-info.java | 11 +- .../include/pulsar/ConsumerConfiguration.h | 46 + .../include/pulsar/ProducerConfiguration.h | 28 + pulsar-client-cpp/lib/BatchMessageContainerBase.cc | 3 +- pulsar-client-cpp/lib/ClientConnection.cc | 33 +- pulsar-client-cpp/lib/ClientConnection.h | 5 +- pulsar-client-cpp/lib/ClientImpl.cc | 6 +- pulsar-client-cpp/lib/Commands.cc | 12 +- pulsar-client-cpp/lib/Commands.h | 3 +- pulsar-client-cpp/lib/ConsumerConfiguration.cc | 17 + pulsar-client-cpp/lib/ConsumerConfigurationImpl.h | 2 + pulsar-client-cpp/lib/ConsumerImpl.cc | 247 +- pulsar-client-cpp/lib/ConsumerImpl.h | 106 +- pulsar-client-cpp/lib/GetLastMessageIdResponse.h | 56 + pulsar-client-cpp/lib/MapCache.h | 104 + pulsar-client-cpp/lib/MemoryLimitController.cc | 6 +- .../{stats/ProducerStatsBase.h => MessageIdUtil.h} | 37 +- pulsar-client-cpp/lib/OpSendMsg.h | 18 +- pulsar-client-cpp/lib/PartitionedProducerImpl.cc | 5 +- pulsar-client-cpp/lib/ProducerConfiguration.cc | 7 + pulsar-client-cpp/lib/ProducerConfigurationImpl.h | 1 + pulsar-client-cpp/lib/ProducerImpl.cc | 215 +- pulsar-client-cpp/lib/ProducerImpl.h | 24 +- pulsar-client-cpp/lib/ReaderImpl.cc | 4 +- pulsar-client-cpp/lib/SharedBuffer.h | 8 +- pulsar-client-cpp/lib/TopicName.cc | 4 +- pulsar-client-cpp/lib/TopicName.h | 4 +- pulsar-client-cpp/lib/stats/ProducerStatsBase.h | 2 +- .../lib/stats/ProducerStatsDisabled.h | 2 +- pulsar-client-cpp/lib/stats/ProducerStatsImpl.cc | 2 +- pulsar-client-cpp/lib/stats/ProducerStatsImpl.h | 2 +- pulsar-client-cpp/test-conf/standalone-ssl.conf | 8 +- pulsar-client-cpp/tests/BasicEndToEndTest.cc | 8 +- .../tests/ConsumerConfigurationTest.cc | 8 + pulsar-client-cpp/tests/MapCacheTest.cc | 78 + pulsar-client-cpp/tests/MessageChunkingTest.cc | 137 + pulsar-client-cpp/tests/MessageIdTest.cc | 22 + .../tests/ProducerConfigurationTest.cc | 4 + pulsar-client-cpp/tests/ProducerTest.cc | 11 +- pulsar-client-cpp/tests/PulsarFriend.h | 6 + pulsar-client-cpp/tests/ReaderTest.cc | 45 + pulsar-client-messagecrypto-bc/pom.xml | 18 + .../pulsar/client/impl/crypto/MessageCryptoBc.java | 12 +- .../pulsar/client/impl/crypto/package-info.java | 11 +- .../pulsar/admin/cli/DeprecatedCommanderTest.java | 15 +- .../pulsar/admin/cli/PulsarAdminToolTest.java | 102 +- .../org/apache/pulsar/admin/cli/CmdBookies.java | 21 +- .../apache/pulsar/admin/cli/CmdResourceGroups.java | 28 +- .../apache/pulsar/admin/cli/CmdTopicPolicies.java | 337 +++ .../org/apache/pulsar/admin/cli/CmdTopics.java | 58 +- .../org/apache/pulsar/client/cli/CmdProduce.java | 8 + pulsar-client/pom.xml | 14 + .../client/impl/AbstractBatchMessageContainer.java | 6 +- .../impl/AcknowledgmentsGroupingTracker.java | 2 - .../pulsar/client/impl/AuthenticationUtil.java | 7 +- .../org/apache/pulsar/client/impl/Backoff.java | 9 +- .../apache/pulsar/client/impl/BackoffBuilder.java | 30 +- .../pulsar/client/impl/BatchMessageAcker.java | 10 +- .../client/impl/BatchMessageContainerBase.java | 5 +- .../client/impl/BatchMessageContainerImpl.java | 8 +- .../pulsar/client/impl/BatchMessageIdImpl.java | 3 +- .../client/impl/BatchMessageKeyBasedContainer.java | 15 +- .../client/impl/BinaryProtoLookupService.java | 29 +- .../pulsar/client/impl/ClientBuilderImpl.java | 19 +- .../org/apache/pulsar/client/impl/ClientCnx.java | 56 +- .../pulsar/client/impl/ConnectionHandler.java | 24 +- .../apache/pulsar/client/impl/ConnectionPool.java | 67 +- .../apache/pulsar/client/impl/ConsumerBase.java | 75 +- .../pulsar/client/impl/ConsumerBuilderImpl.java | 52 +- .../org/apache/pulsar/client/impl/ConsumerId.java | 1 - .../apache/pulsar/client/impl/ConsumerImpl.java | 226 +- .../pulsar/client/impl/ConsumerInterceptors.java | 35 +- .../pulsar/client/impl/ConsumerStatsDisabled.java | 4 +- .../pulsar/client/impl/ConsumerStatsRecorder.java | 4 +- .../client/impl/ConsumerStatsRecorderImpl.java | 16 +- .../pulsar/client/impl/DefaultCryptoKeyReader.java | 25 +- .../client/impl/DefaultCryptoKeyReaderBuilder.java | 4 +- .../java/org/apache/pulsar/client/impl/Hash.java | 2 +- .../org/apache/pulsar/client/impl/HttpClient.java | 16 +- .../pulsar/client/impl/HttpLookupService.java | 21 +- .../apache/pulsar/client/impl/LookupService.java | 73 +- .../pulsar/client/impl/MemoryLimitController.java | 4 +- .../apache/pulsar/client/impl/MessageIdImpl.java | 8 +- .../org/apache/pulsar/client/impl/MessageImpl.java | 43 +- .../client/impl/MessagePayloadContextImpl.java | 2 +- .../pulsar/client/impl/MessageRouterBase.java | 2 +- .../apache/pulsar/client/impl/MessagesImpl.java | 13 +- .../client/impl/MultiTopicsConsumerImpl.java | 154 +- .../pulsar/client/impl/MultiTopicsReaderImpl.java | 10 +- .../client/impl/MultiplierRedeliveryBackoff.java | 94 + .../{Murmur3_32Hash.java => Murmur3Hash32.java} | 6 +- .../NegativeAckRedeliveryExponentialBackoff.java | 94 - .../pulsar/client/impl/NegativeAcksTracker.java | 8 +- ...NonPersistentAcknowledgmentGroupingTracker.java | 8 +- .../client/impl/PartitionedProducerImpl.java | 35 +- .../impl/PatternMultiTopicsConsumerImpl.java | 18 +- .../PersistentAcknowledgmentsGroupingTracker.java | 53 +- .../apache/pulsar/client/impl/ProducerBase.java | 7 +- .../pulsar/client/impl/ProducerBuilderImpl.java | 28 +- .../apache/pulsar/client/impl/ProducerImpl.java | 159 +- .../pulsar/client/impl/ProducerInterceptors.java | 17 +- .../pulsar/client/impl/ProducerResponse.java | 1 - .../client/impl/ProducerStatsRecorderImpl.java | 20 +- .../client/impl/PulsarChannelInitializer.java | 23 +- .../pulsar/client/impl/PulsarClientImpl.java | 181 +- .../PulsarClientImplementationBindingImpl.java | 40 +- .../client/impl/PulsarServiceNameResolver.java | 6 +- .../pulsar/client/impl/ReaderBuilderImpl.java | 10 +- .../org/apache/pulsar/client/impl/ReaderImpl.java | 4 +- .../impl/RoundRobinPartitionMessageRouterImpl.java | 2 - .../apache/pulsar/client/impl/SendCallback.java | 7 +- .../pulsar/client/impl/ServiceNameResolver.java | 2 +- .../impl/SinglePartitionMessageRouterImpl.java | 1 - .../pulsar/client/impl/TableViewBuilderImpl.java | 79 + ...erBase.java => TableViewConfigurationData.java} | 30 +- .../apache/pulsar/client/impl/TableViewImpl.java | 273 ++ .../client/impl/TransactionMetaStoreHandler.java | 30 +- .../client/impl/TypedMessageBuilderImpl.java | 13 +- .../impl/UnAckedMessageRedeliveryTracker.java | 237 ++ .../pulsar/client/impl/UnAckedMessageTracker.java | 145 +- .../impl/UnAckedTopicMessageRedeliveryTracker.java | 69 + .../client/impl/UnAckedTopicMessageTracker.java | 32 +- .../pulsar/client/impl/UnackMessageIdWrapper.java | 94 + .../pulsar/client/impl/ZeroQueueConsumerImpl.java | 4 - .../client/impl/auth/AuthenticationBasic.java | 5 +- .../client/impl/auth/AuthenticationDataBasic.java | 8 +- .../impl/auth/AuthenticationDataKeyStoreTls.java | 2 +- .../client/impl/auth/AuthenticationDataTls.java | 7 +- .../client/impl/auth/AuthenticationDataToken.java | 1 - .../client/impl/auth/AuthenticationDisabled.java | 1 - .../impl/auth/AuthenticationKeyStoreTls.java | 3 +- .../pulsar/client/impl/auth/AuthenticationTls.java | 7 +- .../client/impl/auth/AuthenticationToken.java | 15 +- .../impl/auth/oauth2/AuthenticationOAuth2.java | 2 +- .../impl/auth/oauth2/ClientCredentialsFlow.java | 37 +- .../pulsar/client/impl/auth/oauth2/Flow.java | 2 +- .../pulsar/client/impl/auth/oauth2/FlowBase.java | 6 +- .../impl/auth/oauth2/protocol/TokenClient.java | 1 - .../pulsar/client/impl/auth/package-info.java | 12 +- .../client/impl/conf/ClientConfigurationData.java | 27 +- .../impl/conf/ConsumerConfigurationData.java | 14 +- .../DefaultCryptoKeyReaderConfigurationData.java | 4 +- .../impl/conf/ProducerConfigurationData.java | 18 +- .../client/impl/conf/ReaderConfigurationData.java | 4 +- .../pulsar/client/impl/conf/package-info.java | 9 +- .../PartialRoundRobinMessageRouterImpl.java | 1 - .../client/impl/customroute/package-info.java | 12 +- .../apache/pulsar/client/impl/package-info.java | 12 +- .../pulsar/client/impl/schema/AbstractSchema.java | 5 +- .../client/impl/schema/AbstractStructSchema.java | 17 +- .../client/impl/schema/AutoConsumeSchema.java | 20 +- .../client/impl/schema/AutoProduceBytesSchema.java | 4 +- .../client/impl/schema/AvroBaseStructSchema.java | 8 +- .../pulsar/client/impl/schema/AvroSchema.java | 15 +- .../pulsar/client/impl/schema/BooleanSchema.java | 2 +- .../client/impl/schema/ByteBufferSchema.java | 2 - .../pulsar/client/impl/schema/DateSchema.java | 3 +- .../pulsar/client/impl/schema/DoubleSchema.java | 2 +- .../client/impl/schema/FieldSchemaBuilderImpl.java | 1 - .../client/impl/schema/GenericObjectWrapper.java | 15 +- .../pulsar/client/impl/schema/InstantSchema.java | 4 +- .../pulsar/client/impl/schema/JSONSchema.java | 12 +- .../client/impl/schema/KeyValueSchemaImpl.java | 26 +- .../pulsar/client/impl/schema/LocalDateSchema.java | 2 +- .../client/impl/schema/LocalDateTimeSchema.java | 5 +- .../pulsar/client/impl/schema/LocalTimeSchema.java | 2 +- .../client/impl/schema/NativeAvroBytesSchema.java | 15 +- .../client/impl/schema/ProtobufNativeSchema.java | 20 +- .../impl/schema/ProtobufNativeSchemaUtils.java | 54 +- .../pulsar/client/impl/schema/ProtobufSchema.java | 25 +- .../impl/schema/RecordSchemaBuilderImpl.java | 1 - .../impl/schema/SchemaDefinitionBuilderImpl.java | 20 +- .../client/impl/schema/SchemaDefinitionImpl.java | 22 +- .../pulsar/client/impl/schema/SchemaInfoUtil.java | 2 - .../pulsar/client/impl/schema/StringSchema.java | 11 +- .../pulsar/client/impl/schema/StructSchema.java | 6 +- .../pulsar/client/impl/schema/TimeSchema.java | 3 +- .../pulsar/client/impl/schema/TimestampSchema.java | 3 +- .../impl/schema/generic/AbstractGenericSchema.java | 6 +- .../impl/schema/generic/AvroRecordBuilderImpl.java | 2 +- .../impl/schema/generic/GenericAvroReader.java | 18 +- .../impl/schema/generic/GenericAvroSchema.java | 4 +- .../impl/schema/generic/GenericAvroWriter.java | 5 +- .../impl/schema/generic/GenericJsonReader.java | 11 +- .../impl/schema/generic/GenericJsonSchema.java | 3 +- .../impl/schema/generic/GenericJsonWriter.java | 2 +- .../generic/GenericProtobufNativeReader.java | 19 +- .../generic/GenericProtobufNativeRecord.java | 8 +- .../generic/GenericProtobufNativeSchema.java | 1 - .../impl/schema/generic/GenericSchemaImpl.java | 17 +- .../impl/schema/generic/JsonRecordBuilderImpl.java | 8 +- .../generic/MultiVersionGenericAvroReader.java | 3 +- .../generic/MultiVersionGenericJsonReader.java | 8 +- .../generic/MultiVersionSchemaInfoProvider.java | 7 +- .../client/impl/schema/generic/package-info.java | 9 +- .../pulsar/client/impl/schema/package-info.java | 12 +- .../schema/reader/AbstractMultiVersionReader.java | 9 +- .../client/impl/schema/reader/AvroReader.java | 8 +- .../impl/schema/reader/JacksonJsonReader.java | 5 +- .../client/impl/schema/reader/JsonReader.java | 5 +- .../impl/schema/reader/MultiVersionAvroReader.java | 6 +- .../client/impl/schema/reader/ProtobufReader.java | 6 +- .../client/impl/schema/reader/package-info.java | 12 +- .../pulsar/client/impl/schema/util/SchemaUtil.java | 6 +- .../client/impl/schema/util/package-info.java | 9 +- .../client/impl/schema/writer/AvroWriter.java | 3 +- .../client/impl/schema/writer/package-info.java | 9 +- .../impl/transaction/TransactionBufferHandler.java | 8 +- .../impl/transaction/TransactionBuilderImpl.java | 2 - .../TransactionCoordinatorClientImpl.java | 35 +- .../client/impl/transaction/TransactionImpl.java | 2 +- .../apache/pulsar/client/util/ConsumerName.java | 1 - .../pulsar/client/util/ExecutorProvider.java | 18 +- .../org/apache/pulsar/client/util/MathUtils.java | 2 +- .../org/apache/pulsar/client/util/ObjectCache.java | 2 +- .../org/apache/pulsar/client/util/RetryUtil.java | 42 +- .../pulsar/client/util/SecretsSerializer.java | 5 +- .../apache/pulsar/client/util/TypeCheckUtil.java | 3 +- .../apache/pulsar/client/util/package-info.java | 12 +- .../api/MultiplierRedeliveryBackoffTest.java | 76 + .../api/NegativeAckRedeliveryBackoffTest.java | 55 - .../client/impl/ConsumerBuilderImplTest.java | 6 +- .../org/apache/pulsar/client/impl/HashTest.java | 2 +- .../client/impl/PartitionedProducerImplTest.java | 2 +- .../client/impl/ProducerBuilderImplTest.java | 4 +- .../pulsar/client/impl/PulsarClientImplTest.java | 32 + .../client/impl/UnAckedMessageTrackerTest.java | 11 +- .../client/impl/auth/AuthenticationTokenTest.java | 2 +- pulsar-common/pom.xml | 19 + .../admin/internal/data/AuthPoliciesImpl.java | 4 +- .../java/org/apache/pulsar/client/api/url/URL.java | 11 + .../client/impl/schema/KeyValueSchemaInfo.java | 1 - .../pulsar/client/impl/schema/SchemaUtils.java | 30 +- .../impl/schema/package-info.java} | 9 +- .../common/allocator/PulsarByteBufAllocator.java | 3 +- .../pulsar/common/api/raw/MessageParser.java | 3 - .../pulsar/common/api/raw/RawMessageImpl.java | 3 +- .../apache/pulsar/common/events/PulsarEvent.java | 2 +- .../intercept/AppendIndexMetadataInterceptor.java | 1 - .../common/intercept/BrokerEntryMetadataUtils.java | 3 +- .../intercept/ManagedLedgerPayloadProcessor.java | 6 +- .../apache/pulsar/common/naming/NamespaceName.java | 1 - .../apache/pulsar/common/nar/NarClassLoader.java | 14 +- .../org/apache/pulsar/common/net/ServiceURI.java | 1 - .../common/policies/data/ClusterDataImpl.java | 19 +- .../data/EnsemblePlacementPolicyConfig.java | 3 +- .../data/FunctionInstanceStatsDataImpl.java | 4 +- .../common/policies/data/FunctionStatsImpl.java | 17 +- .../common/policies/data/FunctionStatusUtil.java | 2 +- .../policies/data/HierarchyTopicPolicies.java | 17 +- .../policies/data/NamespaceIsolationDataImpl.java | 10 +- .../common/policies/data/OffloadPoliciesImpl.java | 61 +- .../pulsar/common/policies/data/PoliciesUtil.java | 4 +- .../common/policies/data/ResourceQuotaMixIn.java | 2 +- .../policies/data/stats/ConsumerStatsImpl.java | 4 +- .../NonPersistentPartitionedTopicStatsImpl.java | 5 +- .../stats/NonPersistentPublisherStatsImpl.java | 4 +- .../stats/NonPersistentSubscriptionStatsImpl.java | 4 +- .../data/stats/NonPersistentTopicStatsImpl.java | 19 +- .../policies/data/stats/PublisherStatsImpl.java | 2 +- .../policies/data/stats/ReplicatorStatsImpl.java | 2 +- .../policies/data/stats/SubscriptionStatsImpl.java | 6 +- .../common/policies/data/stats/TopicStatsImpl.java | 17 +- .../package-info.java} | 9 +- .../pulsar/common/protocol/CommandUtils.java | 1 - .../apache/pulsar/common/protocol/Commands.java | 15 +- .../org/apache/pulsar/common/protocol/Markers.java | 3 - .../pulsar/common/protocol/PulsarHandler.java | 6 +- .../common/stats/JvmDefaultGCMetricsLogger.java | 1 - .../apache/pulsar/common/stats/MetricsMixIn.java | 2 +- .../java/org/apache/pulsar/common/stats/Rate.java | 1 - .../apache/pulsar/common/tls/InetAddressUtils.java | 10 +- .../apache/pulsar/common/tls/PublicSuffixList.java | 1 - .../pulsar/common/tls/PublicSuffixMatcher.java | 5 +- .../org/apache/pulsar/common/tls/SubjectName.java | 4 +- .../pulsar/common/tls/TlsHostnameVerifier.java | 22 +- .../package-info.java} | 9 +- .../apache/pulsar/common/util/CmdGenerateDocs.java | 4 +- .../util/CompletableFutureCancellationHandler.java | 4 +- .../org/apache/pulsar/common/util/FieldParser.java | 9 +- .../common/util/FileModifiedTimeUpdater.java | 1 - .../org/apache/pulsar/common/util/FutureUtil.java | 21 +- .../apache/pulsar/common/util/KeyManagerProxy.java | 4 +- .../pulsar/common/util/ObjectMapperFactory.java | 26 +- .../org/apache/pulsar/common/util/Runnables.java | 5 +- .../apache/pulsar/common/util}/ThreadDumpUtil.java | 15 +- .../pulsar/common/util/TrustManagerProxy.java | 4 +- .../common/util/collections/ConcurrentBitSet.java | 3 +- .../util/collections/ConcurrentLongHashMap.java | 1 - .../util/collections/ConcurrentOpenHashSet.java | 1 - .../ConcurrentOpenLongPairRangeSet.java | 3 +- .../collections/ConcurrentSortedLongPairSet.java | 14 +- .../common/util/collections/LongPairRangeSet.java | 3 +- .../JettySslContextFactoryWithAutoRefresh.java | 3 +- .../pulsar/common/util/netty/NettyFutureUtil.java | 6 +- .../data/loadbalancer/LocalBrokerData.java | 10 +- .../data/loadbalancer/ResourceUnitRanking.java | 1 - .../data/loadbalancer/SystemResourceUsage.java | 8 - .../pulsar/common/api/raw/RawMessageImplTest.java | 2 +- .../pulsar/common/lookup/data/LookupDataTest.java | 3 +- .../apache/pulsar/common/util/FieldParserTest.java | 39 + .../apache/pulsar/common/util/FutureUtilTest.java | 51 +- .../ConcurrentSortedLongPairSetTest.java | 12 +- pulsar-config-validation/pom.xml | 13 + .../pulsar/config/validation/ConfigValidation.java | 7 +- .../config/validation/ConfigValidationUtils.java | 2 +- .../pulsar/config/validation/ValidatorImpls.java | 5 +- .../instance/stats/FunctionStatsManager.java | 2 +- .../instance/FunctionResultRouterTest.java | 4 +- .../state/PulsarMetadataStateStoreImplTest.java | 2 +- .../auth/KubernetesSecretsTokenAuthProvider.java | 4 +- .../pulsar/functions/worker/WorkerConfig.java | 5 +- .../functions/utils/FunctionConfigUtils.java | 4 +- .../functions/worker/PulsarWorkerService.java | 53 +- .../functions/worker/rest/api/FunctionsImplV2.java | 2 +- .../apache/pulsar/io/aws/AbstractAwsConnector.java | 2 +- pulsar-io/batch-data-generator/pom.xml | 6 + pulsar-io/canal/pom.xml | 50 +- .../org/apache/pulsar/io/canal/MessageUtils.java | 2 +- pulsar-io/data-generator/pom.xml | 12 + pulsar-io/debezium/core/pom.xml | 6 + .../apache/pulsar/io/debezium/DebeziumSource.java | 16 +- .../pulsar/io/debezium/PulsarDatabaseHistory.java | 6 +- pulsar-io/elastic-search/pom.xml | 18 +- .../io/elasticsearch/ElasticSearchClient.java | 64 +- .../pulsar/io/elasticsearch/JsonConverter.java | 15 +- .../RandomExponentialBackoffPolicy.java | 4 +- .../elasticsearch/ElasticSearchClientSslTests.java | 11 +- .../io/elasticsearch/ElasticSearchClientTests.java | 191 +- .../ElasticSearchSinkRawDataTests.java | 2 +- .../io/elasticsearch/ElasticSearchSinkTests.java | 6 +- .../io/elasticsearch/JsonConverterTests.java | 44 +- .../testcontainers/ChaosContainer.java | 81 - .../testcontainers/ElasticToxiproxiContainer.java | 81 + .../apache/pulsar/io/file/FileListingThread.java | 11 +- .../apache/pulsar/io/file/FileSourceConfig.java | 11 + .../apache/pulsar/io/file/ProcessedFileThread.java | 11 +- .../apache/pulsar/io/file/AbstractFileTests.java | 6 + .../pulsar/io/file/FileListingThreadTests.java | 46 + .../pulsar/io/file/ProcessedFileThreadTests.java | 58 +- pulsar-io/flume/pom.xml | 27 +- pulsar-io/hbase/pom.xml | 10 + pulsar-io/hdfs2/pom.xml | 27 + .../hdfs2/src/main/resources/findbugsExclude.xml | 23 +- pulsar-io/hdfs3/pom.xml | 25 + .../hdfs3/src/main/resources/findbugsExclude.xml | 23 +- pulsar-io/influxdb/pom.xml | 4 +- pulsar-io/kafka-connect-adaptor/pom.xml | 6 + pulsar-io/kafka/pom.xml | 20 + pulsar-io/solr/pom.xml | 2 +- pulsar-metadata/pom.xml | 29 + .../pulsar/metadata/impl/EtcdMetadataStore.java | 435 +++ .../pulsar/metadata/impl/EtcdSessionWatcher.java | 161 ++ .../metadata/impl/LocalMemoryMetadataStore.java | 56 +- .../metadata/impl/MetadataStoreFactoryImpl.java | 10 +- .../metadata/impl/PulsarZooKeeperClient.java | 6 +- .../pulsar/metadata/impl/RocksdbMetadataStore.java | 7 +- .../pulsar/metadata/impl/ZKMetadataStore.java | 2 + .../batching/AbstractBatchedMetadataStore.java | 2 +- .../pulsar/metadata/BaseMetadataStoreTest.java | 19 +- .../apache/pulsar/metadata/LockManagerTest.java | 78 +- .../apache/pulsar/metadata/MetadataBenchmark.java | 10 +- .../pulsar/metadata/MetadataStoreBatchingTest.java | 22 + .../pulsar/metadata/MetadataStoreExtendedTest.java | 2 +- .../apache/pulsar/metadata/MetadataStoreTest.java | 13 +- .../bookkeeper/PulsarRegistrationClientTest.java | 8 +- .../impl/LocalMemoryMetadataStoreTest.java | 6 +- .../metadata/impl/RocksdbMetadataStoreTest.java | 8 +- .../bookkeeper/test/MockedBookKeeperTestCase.java | 2 +- .../pulsar/proxy/server/DirectProxyHandler.java | 2 +- .../pulsar/proxy/server/LookupProxyHandler.java | 59 +- .../pulsar/proxy/server/ParserProxyHandler.java | 20 +- .../pulsar/proxy/server/ProxyConnection.java | 104 +- .../apache/pulsar/proxy/server/ProxyService.java | 12 - .../pulsar/proxy/server/ProxyParserTest.java | 2 +- pulsar-sql/pom.xml | 19 + pulsar-sql/presto-distribution/LICENSE | 148 +- pulsar-sql/presto-distribution/pom.xml | 6 +- .../java/org/openjdk/jol/info/ClassLayout.java | 2 +- .../java/org/openjdk/jol/info/package-info.java | 12 +- .../pulsar/sql/presto/PulsarColumnHandle.java | 1 - .../pulsar/sql/presto/PulsarColumnMetadata.java | 1 - .../pulsar/sql/presto/PulsarConnectorCache.java | 2 +- .../pulsar/sql/presto/PulsarConnectorModule.java | 1 - .../presto/PulsarDispatchingRowDecoderFactory.java | 7 +- .../pulsar/sql/presto/PulsarInternalColumn.java | 1 - .../apache/pulsar/sql/presto/PulsarMetadata.java | 1 - .../pulsar/sql/presto/PulsarRecordCursor.java | 7 +- .../apache/pulsar/sql/presto/PulsarRecordSet.java | 1 - .../apache/pulsar/sql/presto/PulsarRowDecoder.java | 1 - .../pulsar/sql/presto/PulsarSplitManager.java | 4 +- .../sql/presto/PulsarSqlSchemaInfoProvider.java | 4 - .../decoder/avro/PulsarAvroColumnDecoder.java | 3 - .../presto/decoder/avro/PulsarAvroRowDecoder.java | 2 - .../decoder/avro/PulsarAvroRowDecoderFactory.java | 12 +- .../decoder/json/PulsarJsonFieldDecoder.java | 2 - .../presto/decoder/json/PulsarJsonRowDecoder.java | 1 - .../decoder/json/PulsarJsonRowDecoderFactory.java | 4 +- .../primitive/PulsarPrimitiveRowDecoder.java | 3 - .../PulsarPrimitiveRowDecoderFactory.java | 3 +- .../PulsarProtobufNativeColumnDecoder.java | 12 +- .../PulsarProtobufNativeRowDecoder.java | 16 +- .../PulsarProtobufNativeRowDecoderFactory.java | 25 +- .../pulsar/sql/presto/util/CacheSizeAllocator.java | 6 +- pulsar-testclient/pom.xml | 14 + .../proxy/socket/client/PerformanceClient.java | 102 +- .../socket/client/SimpleTestProducerSocket.java | 10 +- .../pulsar/proxy/socket/client/package-info.java | 9 +- .../apache/pulsar/testclient/BrokerMonitor.java | 39 +- .../testclient/CmdGenerateDocumentation.java | 9 +- .../pulsar/testclient/DefaultMessageFormatter.java | 29 +- .../pulsar/testclient/LoadSimulationClient.java | 3 - .../testclient/LoadSimulationController.java | 10 +- .../pulsar/testclient/ManagedLedgerWriter.java | 85 +- .../apache/pulsar/testclient/PerfClientUtils.java | 15 +- .../pulsar/testclient/PerformanceConsumer.java | 52 +- .../pulsar/testclient/PerformanceProducer.java | 155 +- .../pulsar/testclient/PerformanceReader.java | 38 +- .../pulsar/testclient/PerformanceTransaction.java | 99 +- .../org/apache/pulsar/testclient/package-info.java | 9 +- .../utils/FixedColumnLengthTableMaker.java | 5 +- .../pulsar/testclient/utils/package-info.java | 9 +- .../testclient/PerformanceTransactionTest.java | 1 - .../testclient/TestDefaultMessageFormatter.java | 2 +- .../coordinator/impl/MLTransactionLogImpl.java | 2 +- .../coordinator/test/MockedBookKeeperTestCase.java | 2 +- pulsar-websocket/pom.xml | 14 + .../pulsar/websocket/AbstractWebSocketHandler.java | 39 +- .../apache/pulsar/websocket/ConsumerHandler.java | 13 +- .../apache/pulsar/websocket/ProducerHandler.java | 5 - .../org/apache/pulsar/websocket/ReaderHandler.java | 7 +- .../pulsar/websocket/WebSocketProducerServlet.java | 3 +- .../apache/pulsar/websocket/WebSocketService.java | 16 +- .../websocket/admin/WebSocketProxyStatsBase.java | 2 - .../websocket/admin/WebSocketWebResource.java | 7 +- .../pulsar/websocket/admin/package-info.java | 9 +- .../websocket/admin/v1/WebSocketProxyStatsV1.java | 11 +- .../pulsar/websocket/admin/v1/package-info.java | 9 +- .../websocket/admin/v2/WebSocketProxyStatsV2.java | 8 +- .../pulsar/websocket/admin/v2/package-info.java | 9 +- .../pulsar/websocket/data/ConsumerMessage.java | 3 +- .../apache/pulsar/websocket/data/ProducerAck.java | 1 - .../apache/pulsar/websocket/data/ProducerAcks.java | 1 - .../pulsar/websocket/data/ProducerMessage.java | 1 - .../pulsar/websocket/data/ProducerMessages.java | 1 - .../apache/pulsar/websocket/data/package-info.java | 9 +- .../org/apache/pulsar/websocket/package-info.java | 9 +- .../pulsar/websocket/service/ProxyServer.java | 10 +- .../service/WebSocketProxyConfiguration.java | 12 +- .../websocket/service/WebSocketServiceStarter.java | 19 +- .../pulsar/websocket/service/package-info.java | 9 +- .../apache/pulsar/websocket/stats/JvmMetrics.java | 12 +- .../apache/pulsar/websocket/stats/ProxyStats.java | 5 +- .../pulsar/websocket/stats/ProxyTopicStat.java | 3 +- .../pulsar/websocket/stats/StatsBuckets.java | 4 +- .../pulsar/websocket/stats/package-info.java | 9 +- pulsar-websocket/src/test/resources/websocket.conf | 2 +- site2/README.md | 5 + site2/docs/administration-dashboard.md | 62 - site2/docs/administration-isolation.md | 4 + site2/docs/administration-pulsar-manager.md | 2 +- site2/docs/assets/DDLC.png | Bin 0 -> 194151 bytes site2/docs/assets/tableview.png | Bin 0 -> 53207 bytes site2/docs/client-libraries-dotnet.md | 43 +- site2/docs/client-libraries-java.md | 79 +- site2/docs/concepts-messaging.md | 149 +- site2/docs/develop-plugin.md | 125 + site2/docs/functions-worker.md | 17 + site2/docs/getting-started-clients.md | 2 +- site2/docs/io-file-source.md | 5 +- site2/docs/reference-cli-tools.md | 4 +- site2/docs/reference-configuration.md | 12 + site2/docs/reference-metrics.md | 21 +- site2/docs/tiered-storage-aws.md | 2 - site2/docs/tiered-storage-azure.md | 1 - site2/tools/pulsar-admin-doc-gen.sh | 2 + .../blog/2018-08-06-Apache-Pulsar-2-1-0.md | 86 + .../blog/2019-02-20-Apache-Pulsar-2-3-0.md | 154 + .../blog/2019-07-05-Apache-Pulsar-2-4-0.md | 131 + .../blog/2019-12-04-Apache-Pulsar-2-4-2.md | 84 + .../blog/2019-12-18-Pulsar-summit-cfp.md | 43 + ...2019-12-20-pulsar-milestone-200-contributors.md | 26 + ...ng-the-apache-pulsar-2020-user-survey-report.md | 56 + .../blog/2020-04-23-Apache-Pulsar-2-5-1.md | 119 + .../blog/2020-05-19-Apache-Pulsar-2-5-2.md | 134 + .../blog/2020-06-18-Apache-Pulsar-2-6-0.md | 427 +++ .../blog/2020-08-21-Apache-Pulsar-2-6-1.md | 285 ++ .../blog/2020-08-24-Pulsar-300-contributors.md | 65 + .../blog/2020-09-01-pulsar-summit-asia-2020-cfp.md | 53 + .../blog/2020-11-04-pulsar-summit-asia-schedule.md | 31 + .../blog/2020-11-09-Apache-Pulsar-2-6-2.md | 336 +++ .../blog/2020-12-24-Apache-Pulsar-2-7-0.md | 167 ++ .../blog/2021-05-13-Apache-Pulsar-2-7-2.md | 40 + .../blog/2021-06-12-Apache-Pulsar-2-8-0.md | 149 + .../blog/2021-08-11-Apache-Pulsar-2-7-3.md | 139 + site2/website-next/blog/2021-08-18-asia-cfp.md | 47 + site2/website-next/blog/2021-08-25-welcome.md | 7 - .../blog/2021-09-23-Apache-Pulsar-2-8-1.md | 147 + site2/website-next/blog/2021-12-11-Log4j-CVE.md | 33 + .../blog/2021-12-14-Apache-Pulsar-2-7-4.md | 149 + site2/website-next/data/connectors.js | 12 + site2/website-next/data/resources.js | 95 + site2/website-next/data/team.js | 17 + site2/website-next/data/users.js | 20 + .../website-next/docs/administration-dashboard.md | 75 - .../docs/administration-pulsar-manager.md | 2 +- site2/website-next/docs/client-libraries-java.md | 38 +- site2/website-next/docs/concepts-messaging.md | 35 +- site2/website-next/docs/reference-cli-tools.md | 1 + site2/website-next/docs/reference-configuration.md | 12 + site2/website-next/docusaurus.config.js | 106 +- site2/website-next/package.json | 1 + site2/website-next/src/components/CLI.js | 73 + site2/website-next/src/components/CommonTable.js | 78 + .../{OldReleaseTable.js => MailTable.js} | 59 +- .../website-next/src/components/OldReleaseTable.js | 3 +- site2/website-next/src/components/TeamTable.js | 55 + site2/website-next/src/components/VersionsTable.js | 7 +- site2/website-next/src/css/custom.css | 45 + site2/website-next/src/pages/coding-guide.md | 79 + site2/website-next/src/pages/contact.js | 119 + .../src/pages}/contributing.md | 8 +- site2/website-next/src/pages/events.js | 113 + site2/website-next/src/pages/powered-by.js | 56 + site2/website-next/src/pages/pulsar-admin-cli.js | 6 + site2/website-next/src/pages/pulsar-cli.js | 6 + site2/website-next/src/pages/pulsar-client-cli.js | 6 + site2/website-next/src/pages/pulsar-perf-cli.js | 6 + site2/website-next/src/pages/resources.js | 111 + site2/website-next/src/pages/team.js | 52 + site2/website-next/src/theme/Navbar/index.js | 38 +- site2/website-next/src/utils/index.js | 8 + site2/website-next/static/img/280-1.png | Bin 0 -> 194346 bytes site2/website-next/static/img/280-2.png | Bin 0 -> 158780 bytes site2/website-next/static/img/apache_incubator.png | Bin 0 -> 17730 bytes site2/website-next/static/img/commit-message.png | Bin 0 -> 234213 bytes site2/website-next/static/img/cooperation.png | Bin 0 -> 181386 bytes site2/website-next/static/img/docusaurus.svg | 1 + site2/website-next/static/img/p-200.png | Bin 0 -> 131947 bytes site2/website-next/static/img/pulsar-adoption.png | Bin 0 -> 46300 bytes .../static/img/pulsar-summit-asia-2020.png | Bin 0 -> 463865 bytes site2/website-next/static/img/pulsar-user-ban.jpg | Bin 0 -> 411979 bytes .../version-2.1.1-incubating/concepts-messaging.md | 2 +- .../version-2.2.0/concepts-messaging.md | 2 +- .../version-2.2.1/concepts-messaging.md | 2 +- .../version-2.5.0/administration-pulsar-manager.md | 2 +- .../version-2.5.1/administration-pulsar-manager.md | 2 +- .../version-2.5.2/administration-pulsar-manager.md | 2 +- .../version-2.6.0/administration-pulsar-manager.md | 2 +- .../version-2.6.1/administration-pulsar-manager.md | 2 +- .../version-2.6.1/concepts-messaging.md | 2 +- .../version-2.6.2/administration-pulsar-manager.md | 2 +- .../version-2.6.2/concepts-messaging.md | 2 +- .../version-2.6.3/administration-pulsar-manager.md | 2 +- .../version-2.6.3/concepts-messaging.md | 2 +- .../version-2.6.4/administration-pulsar-manager.md | 2 +- .../version-2.6.4/concepts-messaging.md | 2 +- .../version-2.7.0/administration-pulsar-manager.md | 2 +- .../version-2.7.0/concepts-messaging.md | 2 +- .../version-2.7.1/administration-pulsar-manager.md | 2 +- .../version-2.7.1/concepts-messaging.md | 2 +- .../version-2.7.2/administration-pulsar-manager.md | 2 +- .../version-2.7.2/concepts-messaging.md | 2 +- .../version-2.7.3/administration-pulsar-manager.md | 2 +- .../version-2.7.3/concepts-messaging.md | 2 +- .../version-2.8.0/administration-pulsar-manager.md | 2 +- .../version-2.8.0/concepts-messaging.md | 2 +- .../version-2.8.1/administration-pulsar-manager.md | 2 +- .../version-2.8.1/concepts-messaging.md | 2 +- .../version-2.8.2/administration-pulsar-manager.md | 2 +- .../version-2.8.2/concepts-messaging.md | 2 +- .../version-2.9.0/administration-pulsar-manager.md | 2 +- .../version-2.9.0/concepts-messaging.md | 4 +- .../version-2.9.1/administration-pulsar-manager.md | 2 +- .../version-2.9.1/concepts-messaging.md | 4 +- site2/website-next/versions.json | 29 +- site2/website/brodocs/pulsar-admin-manifest.json | 2 + site2/website/contributing.md | 2 +- site2/website/data/connectors.js | 12 + site2/website/data/team.js | 18 + site2/website/package.json | 2 +- site2/website/sidebars.json | 3 +- .../version-2.5.0/administration-pulsar-manager.md | 2 +- .../version-2.6.0/administration-pulsar-manager.md | 2 +- .../version-2.6.1/administration-pulsar-manager.md | 2 +- .../version-2.6.1/concepts-messaging.md | 2 +- .../version-2.6.2/administration-pulsar-manager.md | 2 +- .../version-2.6.2/concepts-messaging.md | 2 +- .../version-2.6.3/administration-pulsar-manager.md | 2 +- .../version-2.6.3/concepts-messaging.md | 2 +- .../version-2.6.4/administration-pulsar-manager.md | 2 +- .../version-2.6.4/concepts-messaging.md | 2 +- .../version-2.6.4/tiered-storage-azure.md | 1 - .../version-2.7.0/administration-pulsar-manager.md | 2 +- .../version-2.7.0/concepts-messaging.md | 2 +- .../version-2.7.0/tiered-storage-aws.md | 2 - .../version-2.7.0/tiered-storage-azure.md | 1 - .../version-2.7.1/administration-pulsar-manager.md | 2 +- .../version-2.7.1/concepts-messaging.md | 2 +- .../version-2.7.1/tiered-storage-aws.md | 2 - .../version-2.7.1/tiered-storage-azure.md | 1 - .../version-2.7.2/administration-pulsar-manager.md | 2 +- .../version-2.7.2/concepts-messaging.md | 2 +- .../version-2.7.2/tiered-storage-aws.md | 1 - .../version-2.7.2/tiered-storage-azure.md | 1 - .../version-2.7.3/administration-pulsar-manager.md | 2 +- .../version-2.7.3/concepts-messaging.md | 2 +- .../version-2.7.3/tiered-storage-aws.md | 2 - .../version-2.7.3/tiered-storage-azure.md | 1 - .../version-2.7.4/administration-pulsar-manager.md | 2 +- .../version-2.7.4/concepts-messaging.md | 2 +- .../version-2.7.4/tiered-storage-aws.md | 2 - .../version-2.7.4/tiered-storage-azure.md | 1 - .../version-2.8.0/administration-pulsar-manager.md | 2 +- .../version-2.8.0/concepts-messaging.md | 2 +- .../version-2.8.0/tiered-storage-aws.md | 2 - .../version-2.8.0/tiered-storage-azure.md | 1 - .../version-2.8.1/administration-pulsar-manager.md | 2 +- .../version-2.8.1/concepts-messaging.md | 2 +- .../version-2.8.1/tiered-storage-aws.md | 2 - .../version-2.8.1/tiered-storage-azure.md | 1 - .../version-2.8.2/administration-pulsar-manager.md | 2 +- .../version-2.8.2/concepts-messaging.md | 2 +- .../version-2.8.2/tiered-storage-aws.md | 2 - .../version-2.8.2/tiered-storage-azure.md | 1 - .../version-2.9.0/administration-pulsar-manager.md | 2 +- .../version-2.9.0/concepts-messaging.md | 4 +- .../version-2.9.0/tiered-storage-aws.md | 2 - .../version-2.9.0/tiered-storage-azure.md | 1 - .../version-2.9.1/administration-pulsar-manager.md | 2 +- .../version-2.9.1/concepts-messaging.md | 4 +- .../version-2.9.1/tiered-storage-aws.md | 2 - .../version-2.9.1/tiered-storage-azure.md | 1 - src/owasp-dependency-check-false-positives.xml | 5 + src/owasp-dependency-check-suppressions.xml | 356 ++- tests/integration/pom.xml | 4 +- .../io/sinks/ElasticSearchSinkTester.java | 12 +- .../debezium/DebeziumMySqlSourceTester.java | 7 +- .../debezium/PulsarDebeziumSourcesTest.java | 15 +- .../tests/integration/presto/TestBasicPresto.java | 6 +- .../presto/TestPrestoQueryTieredStorage.java | 2 +- tiered-storage/file-system/pom.xml | 73 +- .../FileSystemLedgerOffloaderFactory.java | 8 +- .../impl/FileStoreBackedReadHandleImpl.java | 25 +- .../impl/FileSystemManagedLedgerOffloader.java | 77 +- .../offload/filesystem/impl/package-info.java | 9 +- .../mledger/offload/filesystem/package-info.java | 9 +- tiered-storage/jcloud/pom.xml | 26 + .../jcloud/JCloudLedgerOffloaderFactory.java | 2 +- .../offload/jcloud/OffloadIndexBlockV2.java | 2 +- .../impl/BlobStoreBackedInputStreamImpl.java | 2 +- .../jcloud/impl/BlobStoreBackedReadHandleImpl.java | 4 +- .../impl/BlobStoreBackedReadHandleImplV2.java | 18 +- .../impl/BlobStoreManagedLedgerOffloader.java | 10 +- .../jcloud/impl/OffloadIndexBlockV2Impl.java | 4 +- .../offload/jcloud/provider/BlobStoreLocation.java | 1 - .../jcloud/provider/JCloudBlobStoreProvider.java | 9 +- .../README.MD => wireshark/README.md | 32 +- wireshark/pulsar.lua | 115 + 1012 files changed, 19462 insertions(+), 8404 deletions(-)
