You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by rx...@apache.org on 2020/10/30 01:56:29 UTC

[pulsar] branch branch-2.6 updated (e12b33f -> 66bc3cd)

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

rxl pushed a change to branch branch-2.6
in repository https://gitbox.apache.org/repos/asf/pulsar.git.


    from e12b33f  [Release 2.6.2] Resolve pr 7766 conflict
     new 252e727  Revert "Support reset cursor to a batch index for Pulsar Admin. (#8329)"
     new 7547d43  Revert "Support exclude the message when reset cursor by message ID (#8306)"
     new 84c784a  Revert "[Issue 8260] Support reset cursor to a batch index of the batching message (#8285)"
     new d320d55  Revert "handle SubscriptionBusyException in resetCursor api (#7335)"
     new aa115c1  Revert "Fix branch-2.6 build issue (#8335)"
     new 725cee7  Revert "Fix branch-2.6 build issue (#8330)"
     new 5d5a2f7  Revert "Close ZK connections at end of metadata setup (#8228)"
     new 6ded699  Revert "Don't fail the health check request when try to delete previous subscription. (#7906)"
     new 93ad764  Revert "Set dryrun of KubernetesRuntime is null (#8064)"
     new 2bed9d1  Revert "[issue 7851][C++] Make clear() thread-safe (#7862)"
     new 0ebe572  Revert "Replace com.ning.asynchttpclient with org.asynchttpclient (#8099)"
     new 7283777  Revert "Upgrade jetty-util version to 9.4.31 (#8035)"
     new 9c932b2  Revert "Exclude vertx from bookkeeper-http package (#7997)"
     new 933b702  Revert "[Security] Upgrade the snakeyaml verion to 1.26 (#7994)"
     new a0e3016  Revert "[C++] Fix some pending requests may never complete when broker's down (#8232)"
     new b8d10b3  Revert "[ISSUE 8159]Add a new state for namespace-level TTL (#8178)"
     new 15bfdf9  Revert "[Issue 8093]Fix client lookup hangs when broker restarts (#8101)"
     new 9d497cf  Revert "Upgrade Presto version to 332 (#7194)"
     new d9248c1  [C++] Wait for all seek operations completed (#7216)
     new 64393a5  [Release 2.6.2] Resolve pr 7194 conflict
     new 05e40de  handle SubscriptionBusyException in resetCursor api (#7335)
     new 879a990  [Issue 5736] Add test checks in branches (#7465)
     new 5344add  [Release 2.6.2] Resolve pr 7766 conflict
     new b236e11  [Release 2.6.2] Resolve pr 7735 conflict
     new 7217fa1  [proxy] Fix deadlock in pulsar proxy (#7690)
     new 11be03b  [Release 2.6.2] Resolve pr 7744 conflict
     new 0d190a6  Ensure parallel invocations of MultiTopicsConsumerImpl::subscribeAsync with same topic name do not hang. Fixes  #7556. (#7691)
     new 676c11b  make pulsar executor pool size configurable (#7782)
     new d7fc4e4  make zk cache executor pool size configurable (#7794)
     new 719f524  Fix the params broken by PR #4400 (#7795)
     new faacbf4  Implement toString() method for TopicMessageIdImpl class (#7807)
     new 234d292  [pulsar-client] Avoid subscribing the same topic again (#7823)
     new 3de632b  Redirect Get message by id request when broker not serve for the topic (#7786)
     new 3afae9b  Fix pending batchIndexAcks bitSet batchSize in PersistentAcknowledgmentsGroupingTracker (#7828)
     new 46abb83  Return more informative error message when trying to create subscription on non-persistent throug Rest API or pulsar-admin CLI. (#7831)
     new 28e1cd2  Remove the unused CI job (#7853)
     new da44da6  [issue 7851][C++] Make clear() thread-safe (#7862)
     new b6450d1  [Issue 7787][pulsar-client-cpp] Throw std::exception types (#7798)
     new c29455d  [Release 2.6.2] Resolve pr 7898 conflict
     new a262cc4  Split message ranges by ledger ID and store them in individualDeletedMessages (#7861)
     new da83b0e  [broker] Fix deadlock when adding consumer (#7841)
     new 07e2c9f  Fix NPE when acknowledge messages at the broker side (#7878) (#7937)
     new 58bcfd6  Don't fail the health check request when try to delete previous subscription. (#7906)
     new 39affd6  [pulsar-broker] Stop to dispatch when skip message temporally since Key_Shared consumer stuck on delivery (#7553)
     new 7167d44  Fix log level error and typos (#7942) (#7943)
     new d6c5d3d  [Release 2.6.2] Resolve pr 7934 conflict
     new 08e3e9b  Add python oauth2 document (#7946)
     new 804cc50  [Release 2.6.2] Resolve pr 7917 conflict
     new 0ee98c1  fix pulsar metrics providing wrong information (#7905)
     new 368b425  [Release 2.6.2] Remove unused test case(FunctionAssignmentTailerTest.java)
     new a636e55  Exclude vertx from bookkeeper-http package (#7997)
     new 582272d  Fix publish buffer of one ServerCnx caculated multi-times when check broker publish buffer (#7926)
     new 7a92f00  Removed blocking call (#7983)
     new f496e5f  The token endpoint should get from the well-known configuration (#8006)
     new 6ff7a61  Fix the null exception when starting the proxy service (#8019)
     new 3e3b380  Converted the namespace bundle unload into async operation (#7364)
     new 0ec4c32  [Issue 7517][pulsar-broker] Reestablish namespace bundle ownership from false negative releasing and false positive acquiring (#7773)
     new 807f550  Avoid consumer stuck when available permits is a negative value. (#8024)
     new d8c825b  [Release 2.6.2] Resolve pr 7515 conflict
     new b17020f  Upgrade jetty-util version to 9.4.31 (#8035)
     new 37ea573  Fix the wrong issuer url concatenate (#7980)
     new f00f173  [Release 2.6.2] Resolve pr 7994 conflict
     new bf56545a Set dryrun of KubernetesRuntime is null (#8064)
     new b68e0f5  Add Snappy library to Docker images for building C++ packages (#8086)
     new 5bcafa5  [Release 2.6.2] Resolve pr 8062 conflict
     new d648199  pulsar-perf support setting message key (#7989)
     new b7c3207  make pulsar-perf ioThread number configurable (#8090)
     new c60fe1f  Add replicated check to checkInactiveSubscriptions. (#8066)
     new b89d36a  [Release 2.6.2] Resolve pr 8114 conflict
     new 75e69a8  [Issue 8093]Fix client lookup hangs when broker restarts (#8101)
     new a1fb629  [Fix] Should not cache the owner that does not belong to current server (#8111)
     new f7dbb91  Websocket interface decode URL encoding (#8072)
     new 67086fa  Replace com.ning.asynchttpclient with org.asynchttpclient (#8099)
     new 6a462a6  [Release 2.6.2] Resolve pr 8149 conflict
     new 66d567b  [Release 2.6.2] Resolve pr 8129 conflict
     new ae08825  [pulsar-broker] Add get-last-message-id admin for v1 api (#8081)
     new 5afe6c3  [pulsar-admin-tool] add cli command to get last message Id (#8082)
     new f965291  [Release 2.6.2] Resolve pr 8158 conflict
     new ffd3ab3  Fix error code returned to client when service unit is not ready (#8147)
     new b7573c1  [pulsar-broker] Support Disable Replicated Subscriptions (#8144)
     new dcaf474  check null point before setting auto read (#7999)
     new 4be5e6a  fix possible NPE (#8172)
     new d6a0934  [python] Made the script for building Docker images for Python work (#8153)
     new 0660051  [Release 2.6.2] Resolve pr 7442 conflict
     new 2d9c2e5  Always use SNI for TLS enabled Pulsar Java client. (#8117)
     new 584cd85  Improve refactored client connection code (#8117). (#8177)
     new 97db3b7  [Release 2.6.2] Resolve pr 7247 conflict
     new c1372e6  fix peek messages failed with subscriptionName not exist (#8182)
     new 94d6a66  Add ChannelFutures utility class to pulsar-common. (#8137)
     new 98c6075  [ISSUE 8159]Add a new state for namespace-level TTL (#8178)
     new 3ea0203  fix pulsar service close exception (#8197)
     new 4d6f343  [ISSUE #5759] Clean inactive non-persistent subscriptions (#8166)
     new 85a6e66  [Release 2.6.2] Resolve pr 7996 conflict
     new 7ccb0e1  add epoch for C++ client HandleBase to handle create producer timeout (#8191)
     new 3434637  Fix argument type of pulsarProducerSendCallbackProxy (#8186)
     new bbdf7fb  Fixes #8187: pulsar-dashboard django migration fix (#8188)
     new ed8f90c  fix json deserialize byte to string bug (#8140)
     new ff0f7b0  [Issue 2689] Support set backlog quota on topic level. (#7646)
     new b432d3f  Change getBacklogQuota exception log level from error to warn (#8199)
     new 26904b8  Enable intercept filters only when interceptors are configured  (#8157)
     new a41663c  Remove duplicate updates (#8198)
     new be44bf8  Ddd python schema field default value (#8122)
     new 09fa154  Remove unnecessary locks (#8207)
     new 51b9bac  Remove sensitive client configuration info from log (#8110)
     new 08f9ead  Support to specify multi ipv6 hosts in brokerServiceUrl (#8120)
     new 180186d  Skip intercepting multipart requests (#1412) (#8156)
     new 9a35efb  [Release 2.6.2] Resolve pr 8160 conflict
     new 325e469  [Release 2.6.2] Resolve pr 8143 conflict
     new ad7f653  Add log level config in pulsar-client (#8195)
     new ebe988a  [C++] Fix some pending requests may never complete when broker's down (#8232)
     new e7999b6  Limit enum34 installation via environment markers (#8213)
     new 7268f02  Use ThreadPoolExecutor instead of EventLoop (#8208)
     new 7c6f21e  Fix stuck lookup operations when the broker is starting up (#8273)
     new 401fc2e  Add read position when joining in the consumer stats. (#8274)
     new f3530c1  Fix Broker enters an infinite loop in ManagedLedgerImpl.asyncReadEntries (#8284)
     new d32e595  Close ZK connections at end of metadata setup (#8228)
     new 1f49d1f  [C++] Client is allocating buffer bigger than needed (#8283)
     new e80905a  Fix race condition in updating readPosition in ManagedCursorImpl.setAcknowledgePosition (#8299)
     new 7e76cb8  [pulsar-server] minor: fix typo in service-config (#7248)
     new cd0635b  Fix message TTL on Key_Shared subscription and Fix ordering issue when replay messages. (#8292)
     new 04a1b9d  #7994 Missed dryRun on maintenance of secrets. (#8286)
     new 412d45c  Upgrade hdfs2 version to 2.8.5 (#8319)
     new d66aa13  [Issue 8260] Support reset cursor to a batch index of the batching message (#8285)
     new bd9e4f6  Fix branch-2.6 build issue (#8335)
     new 9eecd30  Fix branch-2.6 build issue (#8330)
     new 9804546  Increasing timeout for pulsar client io threads to shutdown (#8316)
     new 3864cca  [C++] Client back-pressure is done on batches rather than number of messages (#8331)
     new 17bf69d  [Release 2.6.2] Resolve pr 8328 conflict
     new 7174152  [Release 2.6.2] Resolve pr 7542 conflict
     new c18f93f  [Release 2.6.2] Resolve pr 8067 conflict
     new 7410114  [C++] Fix message id error when subscribing a single partition (#8341)
     new 4d71b11  [Issue 8300][Java client] Support cancelling message & batch futures returned from Reader & Consumer (#8326)
     new 11ef8ff  Add command to delete a cluster's metadata from ZK (#8169)
     new 4dfbb28  Delete associated ledgers before deleting cluster metadata (#8244)
     new 6335206  Setup the initial namespace of the cluster without startup the Pulsar broker. (#7434)
     new 94fb8cc  Disable batch receive timer for Readers (#8381)
     new 4e79d7a  [Issue 8154] [Python client] Expose schema version (of writerSchema) in Message (#8173)
     new 2f7ecce  Fix issue where paused consumer receives new message when reconnecting (#8165)
     new 6976dc0  [Issue 8138][pulsar-client] Improve timeout handling in ClientCnx to cover all remaining request types (GetLastMessageId, GetTopics, GetSchema, GetOrCreateSchema) (#8149)
     new 2c9a091  [Issue 8311][pulsar-client-go] Fix memory leak in cgo golang client (#8325)
     new 0c85ba00 [Release 2.6.2] Resolve pr 8306 conflict
     new 8c9691c  Support reset cursor to a batch index for Pulsar Admin. (#8329)
     new 21cc2bc  SinkRecord adds an overridden method (#8038)
     new 292a9f9  Refactored JCloud Tiered Storage (#6335)
     new 45fa1dc  update aws deployment for 2.6.0 (#7668)
     new 3e7e878  [Release 2.6.2] Resolve pr 7858 conflict
     new b6ab620  [Release 2.6.2] Resolve pr 8310 conflict
     new c64b1c2  [pulsar-admin-tools] Support delete all data associated with a cluster (#8133)
     new e54b2b3  [pulsar-admin] Support delete schema ledgers when delete topics (#8167)
     new e6fe4c4  Added support to force deleting namespace (#7993)
     new fd04330  [Python Build] Add python-dev to pulsar standalone docker image (#7871)
     new 6da2f52  Add python-dev to pulsar docker image (#7857)
     new b4a8093  Remove python2 from the pulsar images build (#7936)
     new 65f5e06  Protobuf-shaded package can not update version (#7228)
     new 6d57e26  [pulsar-broker] add configuration to set number of channels per bookie (#7910)
     new 874fd63  Have metadata tailer use its own thread for processing (#7211)
     new 539bd1c  During Function update, cleanup should only happen for temp files that were generated (#7201)
     new 7350271  catch_throwable (#7221)
     new 7d62aba  Remove redundant ledger dir creation when necessary (#7196)
     new 1a7c940  [Issue 6282][Issue 2793][Doc]--add schema example to Cgo and CPP clients docs. (#7191)
     new 976851e  Ensure that admin operations are gated by super user check (#7226)
     new c363959  [Issue 7742][functions] Allow kubernetes runtime to customize function instance class path (#7844)
     new ae0dbed  Merge branch 'branch-2.6' of github.com:apache/pulsar into branch-2.6
     new 66bc3cd  fix binary license conflict

The 164 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/ci-integration-sql.yaml          |  17 +-
 bin/pulsar                                         |   6 +
 bin/pulsar-client                                  |   2 +
 .../pulsar/client/TlsProducerConsumerBase.java     |   1 +
 .../pulsar/client/TlsProducerConsumerBase.java     |   1 +
 conf/broker.conf                                   |  20 +
 conf/functions_worker.yml                          |   3 +
 conf/presto/config.properties                      |   2 -
 conf/presto/jvm.config                             |   1 +
 conf/standalone.conf                               |  14 +
 dashboard/Dockerfile                               |   2 +-
 dashboard/django/stats/migrations/0003_updates.py  |  28 +
 deployment/terraform-ansible/aws/setup-disk.yaml   |   2 +-
 deployment/terraform-ansible/deploy-pulsar.yaml    |  68 ++-
 .../terraform-ansible/templates/bookkeeper.conf    |  77 ++-
 deployment/terraform-ansible/templates/broker.conf | 599 ++++++++++++++++++++-
 deployment/terraform-ansible/templates/client.conf |  55 +-
 deployment/terraform-ansible/templates/proxy.conf  | 122 ++++-
 deployment/terraform-ansible/templates/zoo.cfg     |  11 +
 distribution/server/licenses/LICENSE-EPL-2.0.txt   | 277 ++++++++++
 distribution/server/src/assemble/LICENSE.bin.txt   |  11 +-
 docker/pulsar-standalone/Dockerfile                |  16 +-
 docker/pulsar/Dockerfile                           |   8 +-
 docker/pulsar/pom.xml                              |  16 -
 .../bookkeeper/mledger/ManagedLedgerConfig.java    |  20 +
 .../bookkeeper/mledger/impl/ManagedCursorImpl.java |  58 +-
 .../bookkeeper/mledger/impl/ManagedLedgerImpl.java | 107 ++--
 ...ManagedCursorIndividualDeletedMessagesTest.java | 127 +++++
 .../bookkeeper/mledger/impl/ManagedLedgerTest.java |  35 ++
 .../bookkeeper/mledger/impl/OffloadPrefixTest.java |  12 +-
 pom.xml                                            |   1 -
 .../apache/pulsar/broker/ServiceConfiguration.java |  38 +-
 .../authentication/AuthenticationService.java      |   3 +
 .../broker/authorization/AuthorizationService.java |   4 +-
 .../authorization/PulsarAuthorizationProvider.java |   4 +-
 .../org/apache/pulsar/PulsarBrokerStarter.java     |   4 +-
 .../apache/pulsar/PulsarClusterMetadataSetup.java  |  21 +-
 .../pulsar/PulsarClusterMetadataTeardown.java      | 210 ++++++++
 .../apache/pulsar/PulsarInitialNamespaceSetup.java |  99 ++++
 .../pulsar/broker/BookKeeperClientFactoryImpl.java |   2 +-
 .../org/apache/pulsar/broker/PulsarService.java    |  13 +-
 .../apache/pulsar/broker/admin/AdminResource.java  |  53 +-
 .../pulsar/broker/admin/impl/BrokersBase.java      |   8 +
 .../pulsar/broker/admin/impl/NamespacesBase.java   | 353 ++++++++++--
 .../broker/admin/impl/PersistentTopicsBase.java    | 249 ++++++---
 .../apache/pulsar/broker/admin/v1/Namespaces.java  |  13 +-
 .../pulsar/broker/admin/v1/PersistentTopics.java   |  42 +-
 .../apache/pulsar/broker/admin/v2/Namespaces.java  |  11 +-
 .../pulsar/broker/admin/v2/PersistentTopics.java   |  81 ++-
 .../pulsar/broker/intercept/BrokerInterceptor.java |  44 +-
 .../broker/intercept/BrokerInterceptorUtils.java   |   2 +-
 .../BrokerInterceptorWithClassLoader.java          |  24 +-
 .../broker/intercept/BrokerInterceptors.java       |  27 +-
 .../pulsar/broker/namespace/NamespaceService.java  |  89 +--
 .../pulsar/broker/namespace/OwnedBundle.java       |  99 ++--
 .../pulsar/broker/namespace/OwnershipCache.java    | 133 +++--
 .../AbstractDispatcherSingleActiveConsumer.java    |   7 -
 .../pulsar/broker/service/AbstractReplicator.java  |   2 +-
 .../pulsar/broker/service/AbstractTopic.java       |  43 +-
 .../pulsar/broker/service/BacklogQuotaManager.java |  38 +-
 .../pulsar/broker/service/BrokerService.java       | 170 ++++--
 .../org/apache/pulsar/broker/service/Consumer.java |  12 +-
 .../org/apache/pulsar/broker/service/Producer.java |  27 +-
 .../pulsar/broker/service/PulsarCommandSender.java |  64 +++
 .../broker/service/PulsarCommandSenderImpl.java    | 216 ++++++++
 .../apache/pulsar/broker/service/ServerCnx.java    | 204 +++----
 .../NonPersistentDispatcherMultipleConsumers.java  |  15 +-
 ...onPersistentDispatcherSingleActiveConsumer.java |  24 +-
 .../nonpersistent/NonPersistentSubscription.java   |  13 +
 .../service/nonpersistent/NonPersistentTopic.java  |  31 +-
 .../PersistentDispatcherMultipleConsumers.java     |  27 -
 .../PersistentDispatcherSingleActiveConsumer.java  |  24 +-
 .../persistent/PersistentMessageExpiryMonitor.java |  18 +-
 .../service/persistent/PersistentReplicator.java   |  11 +-
 ...istentStickyKeyDispatcherMultipleConsumers.java |  80 ++-
 .../service/persistent/PersistentSubscription.java |  16 +-
 .../broker/service/persistent/PersistentTopic.java |  67 ++-
 .../service/schema/BookkeeperSchemaStorage.java    |  39 +-
 .../schema/DefaultSchemaRegistryService.java       |   5 +
 .../broker/service/schema/SchemaRegistry.java      |   2 +
 .../service/schema/SchemaRegistryServiceImpl.java  |   5 +
 ...hemaRegistryServiceWithSchemaDataValidator.java |   5 +
 .../stats/prometheus/NamespaceStatsAggregator.java |   1 +
 .../broker/systopic/SystemTopicClientBase.java     |   7 +-
 .../systopic/TopicPoliciesSystemTopicClient.java   |   5 +-
 ...ListenerFilter.java => PreInterceptFilter.java} |  32 +-
 .../apache/pulsar/broker/web/RequestWrapper.java   |  81 +++
 .../pulsar/broker/web/ResponseHandlerFilter.java   |   9 +-
 .../org/apache/pulsar/broker/web/WebService.java   |   5 +-
 .../apache/pulsar/broker/SLAMonitoringTest.java    |   2 +-
 .../pulsar/broker/admin/AdminApiOffloadTest.java   |   5 +-
 .../apache/pulsar/broker/admin/AdminApiTest.java   |  38 ++
 .../pulsar/broker/admin/AdminApiTlsAuthTest.java   |   1 +
 .../org/apache/pulsar/broker/admin/AdminTest.java  |   2 +-
 .../broker/admin/BrokerAdminClientTlsAuthTest.java |   1 +
 .../apache/pulsar/broker/admin/NamespacesTest.java |  51 +-
 .../pulsar/broker/admin/PersistentTopicsTest.java  |  49 +-
 .../broker/admin/TopicBacklogQuotaDisableTest.java |  97 ++++
 .../pulsar/broker/admin/TopicBacklogQuotaTest.java | 205 +++++++
 .../pulsar/broker/admin/v1/V1_AdminApiTest.java    |   1 +
 .../pulsar/broker/admin/v1/V1_AdminApiTest2.java   |   6 +-
 .../broker/auth/MockedPulsarServiceBaseTest.java   |   3 +
 .../broker/intercept/BrokerInterceptorTest.java    |   9 +-
 .../BrokerInterceptorWithClassLoaderTest.java      |   7 +-
 .../broker/intercept/CounterBrokerInterceptor.java |  21 +-
 .../broker/intercept/MockBrokerInterceptor.java    |  22 +-
 .../broker/namespace/NamespaceServiceTest.java     |  31 +-
 .../OwnerShipCacheForCurrentServerTest.java        |  64 +++
 .../OwnerShipForCurrentServerTestBase.java         | 272 ++++++++++
 .../broker/namespace/OwnershipCacheTest.java       | 113 +++-
 .../broker/service/BacklogQuotaManagerTest.java    |   2 +-
 .../pulsar/broker/service/BrokerServiceTest.java   |   6 +-
 .../PersistentDispatcherFailoverConsumerTest.java  |   1 +
 .../service/PersistentMessageFinderTest.java       |   4 +-
 .../service/PersistentTopicConcurrentTest.java     |   2 +
 .../pulsar/broker/service/PersistentTopicTest.java | 158 +++++-
 .../pulsar/broker/service/ServerCnxTest.java       |  47 ++
 .../pulsar/broker/service/TopicOwnerTest.java      | 437 +++++++++++++++
 ...ntStickyKeyDispatcherMultipleConsumersTest.java | 105 +++-
 .../ReplicatedSubscriptionConfigTest.java          |  15 +
 .../pulsar/broker/stats/PrometheusMetricsTest.java |  34 +-
 .../broker/zookeeper/ClusterMetadataSetupTest.java |  42 +-
 .../api/AuthenticatedProducerConsumerTest.java     |   2 +-
 .../AuthenticationTlsHostnameVerificationTest.java |   1 +
 .../pulsar/client/api/BrokerServiceLookupTest.java |   2 +
 .../client/api/KeySharedSubscriptionTest.java      |  80 +++
 .../client/api/NonDurableSubscriptionTest.java     |  50 +-
 .../api/PartitionedProducerConsumerTest.java       |  53 ++
 .../pulsar/client/api/ProxyProtocolTest.java       |   3 +-
 .../client/api/SimpleProducerConsumerTest.java     |  42 ++
 .../pulsar/client/api/TlsProducerConsumerBase.java |   1 +
 .../pulsar/client/api/TlsProducerConsumerTest.java |  23 +-
 .../org/apache/pulsar/client/api/TlsSniTest.java   |  66 +++
 ...kenOauth2AuthenticatedProducerConsumerTest.java |   2 +-
 .../client/impl/AdminApiKeyStoreTlsAuthTest.java   |   1 +
 .../client/impl/BatchMessageIndexAckTest.java      |  12 +-
 .../client/impl/BrokerClientIntegrationTest.java   |   4 +-
 .../KeyStoreTlsProducerConsumerTestWithAuth.java   |   1 +
 ...KeyStoreTlsProducerConsumerTestWithoutAuth.java |   1 +
 .../apache/pulsar/client/impl/MessageIdTest.java   |   4 +-
 .../pulsar/client/impl/TopicsConsumerImplTest.java |  40 +-
 .../pulsar/client/impl/ZeroQueueSizeTest.java      |  79 +++
 .../worker/PulsarFunctionPublishTest.java          |  50 ++
 .../java/org/apache/pulsar/schema/SchemaTest.java  |  56 ++
 .../java/org/apache/pulsar/schema/Schemas.java     |  17 +-
 pulsar-client-admin-shaded/pom.xml                 |   2 +-
 .../org/apache/pulsar/client/admin/Namespaces.java |  72 +++
 .../apache/pulsar/client/admin/PulsarAdmin.java    |  23 +-
 .../pulsar/client/admin/PulsarAdminBuilder.java    |   6 +
 .../org/apache/pulsar/client/admin/Topics.java     | 123 ++++-
 .../client/admin/internal/FunctionsImpl.java       |  73 ++-
 .../client/admin/internal/NamespacesImpl.java      |  40 ++
 .../admin/internal/PulsarAdminBuilderImpl.java     |   9 +-
 .../pulsar/client/admin/internal/TopicsImpl.java   |  62 ++-
 .../admin/internal/http/AsyncHttpConnector.java    |  14 +-
 pulsar-client-all/pom.xml                          |   2 +-
 .../client/api/AuthenticationDataProvider.java     |  10 +
 .../org/apache/pulsar/client/api/Consumer.java     |  14 +
 .../java/org/apache/pulsar/client/api/Reader.java  |   9 +
 pulsar-client-cpp/docker/Dockerfile                |   7 +-
 pulsar-client-cpp/docker/build-wheels.sh           |   1 -
 pulsar-client-cpp/docker/create-images.sh          |   1 -
 pulsar-client-cpp/docker/push-images.sh            |   1 -
 pulsar-client-cpp/include/pulsar/Message.h         |  13 +-
 .../include/pulsar/ProducerConfiguration.h         |  32 +-
 pulsar-client-cpp/include/pulsar/c/message.h       |   6 +
 pulsar-client-cpp/lib/BatchMessageContainer.cc     | 201 ++-----
 pulsar-client-cpp/lib/BatchMessageContainer.h      | 115 +---
 pulsar-client-cpp/lib/BatchMessageContainerBase.cc |  82 +++
 pulsar-client-cpp/lib/BatchMessageContainerBase.h  | 167 ++++++
 .../lib/BatchMessageKeyBasedContainer.cc           | 129 +++++
 .../lib/BatchMessageKeyBasedContainer.h            |  62 +++
 pulsar-client-cpp/lib/ClientConnection.cc          |   7 +-
 pulsar-client-cpp/lib/ClientConnection.h           |   5 +-
 pulsar-client-cpp/lib/ClientImpl.cc                |   4 +-
 pulsar-client-cpp/lib/Commands.cc                  |  39 +-
 pulsar-client-cpp/lib/Commands.h                   |   7 +-
 pulsar-client-cpp/lib/CompressionCodecSnappy.cc    |   6 +-
 pulsar-client-cpp/lib/CompressionCodecZstd.cc      |   8 +-
 pulsar-client-cpp/lib/ConsumerConfiguration.cc     |   5 +-
 pulsar-client-cpp/lib/ConsumerImpl.cc              |   6 +-
 pulsar-client-cpp/lib/HandlerBase.cc               |   2 +
 pulsar-client-cpp/lib/HandlerBase.h                |   1 +
 pulsar-client-cpp/lib/Message.cc                   |  14 +
 pulsar-client-cpp/lib/MessageAndCallbackBatch.cc   |  66 +++
 pulsar-client-cpp/lib/MessageAndCallbackBatch.h    |  82 +++
 pulsar-client-cpp/lib/MessageBuilder.cc            |   3 +-
 pulsar-client-cpp/lib/MessageCrypto.cc             |   4 +-
 pulsar-client-cpp/lib/MessageCrypto.h              |   4 +-
 pulsar-client-cpp/lib/MessageId.cc                 |   3 +-
 pulsar-client-cpp/lib/MessageImpl.cc               |   6 +
 pulsar-client-cpp/lib/MessageImpl.h                |   6 +
 pulsar-client-cpp/lib/OpSendMsg.h                  |  53 ++
 .../lib/PendingFailures.h                          |  34 +-
 pulsar-client-cpp/lib/Producer.cc                  |   1 +
 pulsar-client-cpp/lib/ProducerConfiguration.cc     |  25 +-
 pulsar-client-cpp/lib/ProducerConfigurationImpl.h  |   2 +
 pulsar-client-cpp/lib/ProducerImpl.cc              | 207 ++++---
 pulsar-client-cpp/lib/ProducerImpl.h               |  33 +-
 pulsar-client-cpp/lib/ReaderImpl.cc                |   2 +
 pulsar-client-cpp/lib/TopicName.cc                 |  18 +
 pulsar-client-cpp/lib/TopicName.h                  |   3 +
 pulsar-client-cpp/lib/auth/AuthOauth2.cc           |  77 ++-
 pulsar-client-cpp/lib/auth/AuthOauth2.h            |   1 +
 pulsar-client-cpp/lib/auth/AuthToken.cc            |   5 +-
 pulsar-client-cpp/pkg/deb/Dockerfile               |   8 +
 pulsar-client-cpp/pkg/rpm/Dockerfile               |   8 +
 pulsar-client-cpp/python/pulsar/__init__.py        |   8 +-
 .../python/pulsar/schema/definition.py             |  42 ++
 pulsar-client-cpp/python/schema_test.py            |  56 +-
 pulsar-client-cpp/python/setup.py                  |  11 +-
 pulsar-client-cpp/python/src/message.cc            |   7 +
 pulsar-client-cpp/tests/AuthPluginTest.cc          |   1 +
 pulsar-client-cpp/tests/BatchMessageTest.cc        |  44 +-
 pulsar-client-cpp/tests/ConsumerTest.cc            |  65 +++
 pulsar-client-cpp/tests/KeyBasedBatchingTest.cc    | 177 ++++++
 pulsar-client-cpp/tests/ProducerTest.cc            |  23 +
 pulsar-client-cpp/tests/ReaderTest.cc              |  44 ++
 pulsar-client-cpp/tests/TopicNameTest.cc           |  25 +
 pulsar-client-go/pulsar/c_go_pulsar.h              |   2 +-
 pulsar-client-go/pulsar/c_producer.go              |   4 +-
 .../pulsar/admin/cli/PulsarAdminToolTest.java      |   4 +-
 .../org/apache/pulsar/admin/cli/CmdClusters.java   |  20 +
 .../org/apache/pulsar/admin/cli/CmdNamespaces.java |  14 +-
 .../pulsar/admin/cli/CmdPersistentTopics.java      |  15 +
 .../org/apache/pulsar/admin/cli/CmdTopics.java     |  62 +++
 .../org/apache/pulsar/client/cli/CmdConsume.java   |  12 +-
 .../org/apache/pulsar/client/impl/ClientCnx.java   | 118 ++--
 .../impl/CompletableFutureCancellationHandler.java | 106 ++++
 .../apache/pulsar/client/impl/ConnectionPool.java  |  92 ++--
 .../apache/pulsar/client/impl/ConsumerBase.java    | 140 ++++-
 .../apache/pulsar/client/impl/ConsumerImpl.java    |  78 ++-
 .../org/apache/pulsar/client/impl/HttpClient.java  |  13 +-
 .../client/impl/MultiTopicsConsumerImpl.java       | 212 ++++----
 .../PersistentAcknowledgmentsGroupingTracker.java  |   3 +-
 .../apache/pulsar/client/impl/ProducerImpl.java    |   2 +-
 .../client/impl/PulsarChannelInitializer.java      |  94 ++--
 .../pulsar/client/impl/PulsarClientImpl.java       |   8 +
 .../org/apache/pulsar/client/impl/ReaderImpl.java  |  18 +-
 .../pulsar/client/impl/TopicMessageIdImpl.java     |   5 +
 .../client/impl/TransactionMetaStoreHandler.java   |  12 +-
 .../pulsar/client/impl/ZeroQueueConsumerImpl.java  |   6 +-
 .../client/impl/auth/AuthenticationDataTls.java    |  15 +-
 .../pulsar/client/impl/auth/AuthenticationTls.java |  13 +-
 .../impl/auth/oauth2/ClientCredentialsFlow.java    |   6 +
 .../oauth2/protocol/DefaultMetadataResolver.java   |   3 +-
 .../client/impl/conf/ClientConfigurationData.java  |   3 +
 .../impl/schema/generic/GenericJsonReader.java     |  20 +-
 .../impl/schema/generic/GenericJsonRecord.java     |  60 ++-
 .../impl/schema/generic/GenericJsonSchema.java     |   4 +-
 .../apache/pulsar/client/util/TypeCheckUtil.java   |   2 +-
 .../impl/ClientCnxRequestTimeoutQueueTest.java     | 106 ++++
 .../pulsar/client/impl/ClientTestFixtures.java     |  78 +++
 .../CompletableFutureCancellationHandlerTest.java  |  56 ++
 .../pulsar/client/impl/ConsumerImplTest.java       |  59 +-
 .../client/impl/MultiTopicsConsumerImplTest.java   |  76 +++
 .../apache/pulsar/client/impl/ReaderImplTest.java  |  57 ++
 .../RoundRobinPartitionMessageRouterImplTest.java  |   2 +-
 .../impl/auth/oauth2/AuthenticationOAuth2Test.java |  11 +
 .../common/intercept/InterceptException.java       |  21 +-
 .../pulsar/common/intercept/package-info.java      |  12 +-
 .../org/apache/pulsar/common/net/ServiceURI.java   |  34 ++
 .../pulsar/common/policies/data/ConsumerStats.java |   8 +
 .../common/policies/data/OffloadPolicies.java      | 244 ++++++++-
 .../pulsar/common/policies/data/TopicPolicies.java |   2 +-
 .../apache/pulsar/common/protocol/Commands.java    | 293 +++++++++-
 .../pulsar/common/protocol/PulsarDecoder.java      | 123 ++++-
 .../util/NettyClientSslContextRefresher.java       |  12 +-
 .../apache/pulsar/common/util/SecurityUtility.java |  35 +-
 .../util/keystoretls/KeyStoreSSLContext.java       |  10 +-
 .../pulsar/common/util/netty/ChannelFutures.java   |  66 +++
 .../apache/pulsar/common/naming/TopicNameTest.java |   5 +
 .../apache/pulsar/common/net/ServiceURITest.java   |  24 +
 .../common/policies/data/OffloadPoliciesTest.java  | 279 ++++++++++
 .../common/util/netty/ChannelFuturesTest.java      | 116 ++++
 .../service/web/DiscoveryServiceServlet.java       |   2 +-
 .../service/web/ZookeeperCacheLoader.java          |  59 +-
 .../functions/instance/JavaInstanceRunnable.java   |   8 +-
 .../pulsar/functions/instance/SinkRecord.java      |  10 +
 .../org/apache/pulsar/functions/LocalRunner.java   |   2 +-
 .../auth/KubernetesSecretsTokenAuthProvider.java   |   8 +-
 .../pulsar/functions/runtime/RuntimeSpawner.java   |   2 -
 .../pulsar/functions/runtime/RuntimeUtils.java     |  27 +-
 .../runtime/kubernetes/KubernetesRuntime.java      |   8 +-
 .../kubernetes/KubernetesRuntimeFactory.java       |   5 +-
 .../kubernetes/KubernetesRuntimeFactoryConfig.java |   5 +
 .../functions/runtime/process/ProcessRuntime.java  |   4 +-
 .../pulsar/functions/worker/WorkerConfig.java      |   5 +
 .../functions/utils/FunctionConfigUtils.java       |  18 +-
 .../functions/utils/FunctionConfigUtilsTest.java   |  29 +
 .../functions/worker/FunctionMetaDataManager.java  |  18 +-
 .../worker/FunctionMetaDataTopicTailer.java        |  90 ++--
 .../pulsar/functions/worker/WorkerService.java     |   2 +-
 .../functions/worker/rest/api/FunctionsImpl.java   |  18 +-
 .../functions/worker/rest/api/SinksImpl.java       |  15 +-
 .../functions/worker/rest/api/SourcesImpl.java     |  15 +-
 .../worker/FunctionMetaDataManagerTest.java        |  24 +-
 .../worker/FunctionMetaDataTopicTailerTest.java    |  37 +-
 .../worker/FunctionRuntimeManagerTest.java         |   2 +-
 pulsar-io/hdfs2/pom.xml                            |   2 +-
 .../pulsar/io/redis/RedisAbstractConfig.java       |   2 +-
 pulsar-io/solr/pom.xml                             |   2 +-
 pulsar-proxy/pom.xml                               |  13 +
 .../pulsar/proxy/server/ProxyConfiguration.java    |  35 +-
 .../apache/pulsar/proxy/server/ProxyService.java   |  23 +-
 .../pulsar/proxy/server/ProxyServiceStarter.java   |  14 +
 .../org/apache/pulsar/proxy/server/WebServer.java  |   3 +-
 .../plugin/servlet/ProxyAdditionalServlet.java     |  43 +-
 .../servlet/ProxyAdditionalServletDefinition.java  |  28 +-
 .../servlet/ProxyAdditionalServletDefinitions.java |  19 +-
 .../servlet/ProxyAdditionalServletMetadata.java    |  25 +-
 .../servlet/ProxyAdditionalServletUtils.java       | 160 ++++++
 .../ProxyAdditionalServletWithClassLoader.java     |  36 +-
 .../plugin/servlet/ProxyAdditionalServlets.java    |  89 +++
 .../proxy/server/plugin/servlet/package-info.java  |  12 +-
 .../proxy/server/util/ZookeeperCacheLoader.java    |  60 ++-
 .../proxy/server/AuthedAdminProxyHandlerTest.java  |   1 +
 .../proxy/server/ProxyAdditionalServletTest.java   | 201 +++++++
 .../ProxyAuthenticatedProducerConsumerTest.java    |   1 +
 .../proxy/server/ProxyForwardAuthDataTest.java     |   2 +-
 .../pulsar/proxy/server/ProxyParserTest.java       |   2 +-
 .../proxy/server/ProxyRolesEnforcementTest.java    |  14 +-
 .../org/apache/pulsar/proxy/server/ProxyTest.java  |   2 -
 .../pulsar/proxy/server/ProxyTlsTestWithAuth.java  |  94 ++++
 .../server/ProxyWithAuthorizationNegTest.java      |   1 +
 .../proxy/server/ProxyWithAuthorizationTest.java   |  20 +-
 .../server/ProxyWithoutServiceDiscoveryTest.java   |   1 +
 .../SuperUserAuthedAdminProxyHandlerTest.java      |   1 +
 .../server/plugin/MockProxyAdditionalServlet.java  |  26 +-
 .../plugin/ProxyAdditionalServletUtilsTest.java    | 151 ++++++
 .../ProxyAdditionalServletWithClassLoaderTest.java |  28 +-
 pulsar-sql/presto-distribution/LICENSE             |   8 +-
 .../presto-pulsar-plugin/src/assembly/assembly.xml |   3 +
 pulsar-sql/presto-pulsar/pom.xml                   |   6 +
 .../pulsar/sql/presto/PulsarConnectorConfig.java   |   3 +
 .../sql/presto/TestPulsarConnectorConfig.java      |   2 +-
 pulsar-testclient/pom.xml                          |   8 +
 .../pulsar/testclient/PerformanceConsumer.java     |   8 +-
 .../pulsar/testclient/PerformanceProducer.java     |  34 +-
 .../pulsar/testclient/PerformanceReader.java       |   6 +-
 .../pulsar/testclient/PerformanceProducerTest.java | 146 +++++
 .../pulsar/websocket/AbstractWebSocketHandler.java |   3 +-
 .../apache/pulsar/websocket/ConsumerHandler.java   |   5 +-
 .../websocket/AbstractWebSocketHandlerTest.java    |  67 ++-
 .../pulsar/zookeeper/LocalBookkeeperEnsemble.java  |  63 ++-
 .../pulsar/zookeeper/ZookeeperServerTest.java      |   4 +
 site2/docs/concepts-messaging.md                   |   6 +-
 site2/docs/deploy-aws.md                           |   7 +-
 site2/docs/reference-configuration.md              |   3 +-
 site2/docs/schema-get-started.md                   |   4 +
 site2/docs/security-oauth2.md                      |  19 +
 .../version-2.3.0/concepts-schema-registry.md      |  84 +++
 .../version-2.3.1/concepts-schema-registry.md      |  84 +++
 .../version-2.3.2/concepts-schema-registry.md      |  84 +++
 .../version-2.4.0/concepts-schema-registry.md      |  84 +++
 .../version-2.4.1/concepts-schema-registry.md      |  84 +++
 .../version-2.4.2/concepts-schema-registry.md      |  84 +++
 .../version-2.5.0/client-libraries-cpp.md          |  34 +-
 .../version-2.5.0/client-libraries-go.md           |  45 ++
 .../version-2.5.0/concepts-messaging.md            |   6 +-
 .../version-2.5.0/concepts-schema-registry.md      |  84 +++
 .../version-2.5.1/client-libraries-cgo.md          |  45 ++
 .../version-2.5.1/client-libraries-cpp.md          |  32 ++
 .../version-2.5.1/concepts-messaging.md            |   6 +-
 .../version-2.5.1/schema-get-started.md            |   4 +
 .../version-2.5.2/client-libraries-cgo.md          |  45 ++
 .../version-2.5.2/client-libraries-cpp.md          |  32 ++
 .../version-2.5.2/concepts-messaging.md            |   6 +-
 .../version-2.5.2/schema-get-started.md            |   4 +
 .../concepts-messaging.md                          |  55 +-
 .../version-2.6.1}/concepts-messaging.md           |   9 +-
 .../version-2.6.2}/concepts-messaging.md           |   9 +-
 src/set-project-version.sh                         |  11 +-
 tests/integration/pom.xml                          |  12 +
 .../cli/ClusterMetadataTearDownTest.java           | 208 +++++++
 .../integration/containers/BrokerContainer.java    |   9 +
 .../integration/containers/PulsarContainer.java    |   3 +
 .../integration/functions/PulsarFunctionsTest.java |  68 ++-
 .../functions/utils/CommandGenerator.java          |  42 +-
 .../tests/integration/offload/TestS3Offload.java   |  10 +-
 .../presto/TestPrestoQueryTieredStorage.java       |   1 +
 .../suites/PulsarTieredStorageTestSuite.java       |  20 +-
 .../integration/topologies/PulsarCluster.java      |   4 +
 .../integration/src/test/resources/pulsar-cli.xml  |   1 +
 .../mledger/offload/jcloud/BackedInputStream.java  |   5 +-
 .../jcloud/BlockAwareSegmentInputStream.java       |   4 +-
 .../mledger/offload/jcloud/CredentialsUtil.java    |  43 --
 .../mledger/offload/jcloud/DataBlockHeader.java    |   6 +-
 .../jcloud/JCloudLedgerOffloaderFactory.java       |  14 +-
 .../mledger/offload/jcloud/OffloadIndexBlock.java  |   6 +-
 .../offload/jcloud/OffloadIndexBlockBuilder.java   |   8 +-
 .../mledger/offload/jcloud/OffloadIndexEntry.java  |   2 -
 .../impl/BlobStoreBackedInputStreamImpl.java       |  10 +-
 .../jcloud/impl/BlobStoreBackedReadHandleImpl.java |  24 +-
 .../impl/BlobStoreManagedLedgerOffloader.java      | 470 +++-------------
 .../impl/BlockAwareSegmentInputStreamImpl.java     |  11 +-
 .../offload/jcloud/impl/DataBlockHeaderImpl.java   |  17 +-
 .../offload/jcloud/impl/DataBlockUtils.java        |  77 +++
 .../offload/jcloud/impl/OffloadIndexBlockImpl.java | 169 +++++-
 .../offload/jcloud/impl/OffloadIndexEntryImpl.java |   8 -
 .../package-info.java}                             |  10 +-
 .../{BackedInputStream.java => package-info.java}  |  10 +-
 .../offload/jcloud/provider/BlobStoreLocation.java |  63 +++
 .../jcloud/provider/JCloudBlobStoreProvider.java   | 252 +++++++++
 .../provider/TieredStorageConfiguration.java       | 310 +++++++++++
 .../package-info.java}                             |  10 +-
 .../jcloud/BlobStoreBackedInputStreamTest.java     |  10 +-
 .../mledger/offload/jcloud/BlobStoreTestBase.java  |  23 +-
 .../impl/BlobStoreManagedLedgerOffloaderBase.java  | 170 ++++++
 .../impl/BlobStoreManagedLedgerOffloaderTest.java  | 419 ++++----------
 .../impl/BlockAwareSegmentInputStreamTest.java     |   6 +-
 .../offload/jcloud/impl/OffloadIndexTest.java      |  38 +-
 .../AbstractJCloudBlobStoreFactoryTest.java        | 117 ++++
 .../provider/JCloudBlobStoreProviderTests.java     | 108 ++++
 .../provider/TieredStorageConfigurationTests.java  | 201 +++++++
 .../provider/TransientBlobStoreFactoryTests.java   |  61 +++
 416 files changed, 15261 insertions(+), 3181 deletions(-)
 create mode 100644 dashboard/django/stats/migrations/0003_updates.py
 create mode 100644 distribution/server/licenses/LICENSE-EPL-2.0.txt
 create mode 100644 managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ManagedCursorIndividualDeletedMessagesTest.java
 create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/PulsarClusterMetadataTeardown.java
 create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/PulsarInitialNamespaceSetup.java
 create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/service/PulsarCommandSender.java
 create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/service/PulsarCommandSenderImpl.java
 rename pulsar-broker/src/main/java/org/apache/pulsar/broker/web/{EventListenerFilter.java => PreInterceptFilter.java} (53%)
 create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/web/RequestWrapper.java
 create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicBacklogQuotaDisableTest.java
 create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TopicBacklogQuotaTest.java
 create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/namespace/OwnerShipCacheForCurrentServerTest.java
 create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/namespace/OwnerShipForCurrentServerTestBase.java
 create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/api/TlsSniTest.java
 create mode 100644 pulsar-client-cpp/lib/BatchMessageContainerBase.cc
 create mode 100644 pulsar-client-cpp/lib/BatchMessageContainerBase.h
 create mode 100644 pulsar-client-cpp/lib/BatchMessageKeyBasedContainer.cc
 create mode 100644 pulsar-client-cpp/lib/BatchMessageKeyBasedContainer.h
 create mode 100644 pulsar-client-cpp/lib/MessageAndCallbackBatch.cc
 create mode 100644 pulsar-client-cpp/lib/MessageAndCallbackBatch.h
 create mode 100644 pulsar-client-cpp/lib/OpSendMsg.h
 copy pulsar-client/src/main/java/org/apache/pulsar/client/util/TypeCheckUtil.java => pulsar-client-cpp/lib/PendingFailures.h (62%)
 create mode 100644 pulsar-client-cpp/tests/KeyBasedBatchingTest.cc
 create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/CompletableFutureCancellationHandler.java
 create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/ClientCnxRequestTimeoutQueueTest.java
 create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/ClientTestFixtures.java
 create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/CompletableFutureCancellationHandlerTest.java
 create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/ReaderImplTest.java
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/BackedInputStream.java => pulsar-common/src/main/java/org/apache/pulsar/common/intercept/InterceptException.java (70%)
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/BackedInputStream.java => pulsar-common/src/main/java/org/apache/pulsar/common/intercept/package-info.java (73%)
 create mode 100644 pulsar-common/src/main/java/org/apache/pulsar/common/util/netty/ChannelFutures.java
 create mode 100644 pulsar-common/src/test/java/org/apache/pulsar/common/policies/data/OffloadPoliciesTest.java
 create mode 100644 pulsar-common/src/test/java/org/apache/pulsar/common/util/netty/ChannelFuturesTest.java
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/OffloadIndexEntry.java => pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServlet.java (52%)
 copy tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/BrokerContainer.java => pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServletDefinition.java (59%)
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/BackedInputStream.java => pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServletDefinitions.java (67%)
 copy tests/integration/src/test/java/org/apache/pulsar/tests/integration/containers/BrokerContainer.java => pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServletMetadata.java (63%)
 create mode 100644 pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServletUtils.java
 copy pulsar-broker/src/main/java/org/apache/pulsar/broker/intercept/BrokerInterceptorWithClassLoader.java => pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServletWithClassLoader.java (55%)
 create mode 100644 pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/ProxyAdditionalServlets.java
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/BackedInputStream.java => pulsar-proxy/src/main/java/org/apache/pulsar/proxy/server/plugin/servlet/package-info.java (73%)
 create mode 100644 pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyAdditionalServletTest.java
 create mode 100644 pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyTlsTestWithAuth.java
 copy pulsar-broker/src/test/java/org/apache/pulsar/broker/intercept/MockBrokerInterceptor.java => pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/plugin/MockProxyAdditionalServlet.java (57%)
 create mode 100644 pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/plugin/ProxyAdditionalServletUtilsTest.java
 copy pulsar-broker/src/test/java/org/apache/pulsar/broker/intercept/BrokerInterceptorWithClassLoaderTest.java => pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/plugin/ProxyAdditionalServletWithClassLoaderTest.java (56%)
 create mode 100644 pulsar-testclient/src/test/java/org/apache/pulsar/testclient/PerformanceProducerTest.java
 create mode 100644 site2/website/versioned_docs/version-2.3.0/concepts-schema-registry.md
 create mode 100644 site2/website/versioned_docs/version-2.3.1/concepts-schema-registry.md
 create mode 100644 site2/website/versioned_docs/version-2.3.2/concepts-schema-registry.md
 create mode 100644 site2/website/versioned_docs/version-2.4.0/concepts-schema-registry.md
 create mode 100644 site2/website/versioned_docs/version-2.4.1/concepts-schema-registry.md
 create mode 100644 site2/website/versioned_docs/version-2.4.2/concepts-schema-registry.md
 create mode 100644 site2/website/versioned_docs/version-2.5.0/concepts-schema-registry.md
 copy site2/website/versioned_docs/{version-2.5.2 => version-2.6.0}/concepts-messaging.md (85%)
 copy site2/{docs => website/versioned_docs/version-2.6.1}/concepts-messaging.md (97%)
 copy site2/{docs => website/versioned_docs/version-2.6.2}/concepts-messaging.md (97%)
 create mode 100644 tests/integration/src/test/java/org/apache/pulsar/tests/integration/cli/ClusterMetadataTearDownTest.java
 delete mode 100644 tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/CredentialsUtil.java
 create mode 100644 tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/DataBlockUtils.java
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/{BackedInputStream.java => impl/package-info.java} (73%)
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/{BackedInputStream.java => package-info.java} (73%)
 create mode 100644 tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/BlobStoreLocation.java
 create mode 100644 tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java
 create mode 100644 tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/TieredStorageConfiguration.java
 copy tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/{BackedInputStream.java => provider/package-info.java} (73%)
 create mode 100644 tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloaderBase.java
 create mode 100644 tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/AbstractJCloudBlobStoreFactoryTest.java
 create mode 100644 tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProviderTests.java
 create mode 100644 tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/TieredStorageConfigurationTests.java
 create mode 100644 tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/TransientBlobStoreFactoryTests.java