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

mattisonchao pushed a change to branch mattison/pip-298-authorization-metrics
in repository https://gitbox.apache.org/repos/asf/pulsar.git


 discard 0703dbd7af6 Move authorization metrics proposal to PIP-466
 discard e98dd50fbc1 Add PIP for authorization operation metrics
     add 18653513c50 [feat][pip] PIP-460: Scalable Topics (Topics v5) (#25315)
     add 1a5dff6a3e7 [improve][build] Support building and testing with Java 25 
(#25453)
     add e1e97387da2 [improve][offload] Upgrade Hadoop from 3.4.3 to 3.5.0 
(#25402)
     add ea195bcae39 [improve][build] Enhance Docker build task to support 
image pushing (#25459)
     add 56442c27907 [fix][broker] Prevent timed-out producer creation from 
racing with retry (#25460)
     add 865e276510b [cleanup][ci] Remove ready-to-test label enforcement 
(#25470)
     add 33166b4867f [fix][test] Fix flaky 
IsolatedBookieEnsemblePlacementPolicyTest.testBookieInfoChange (#25473)
     add eac628f68fa [fix][test] Fix flaky 
MessageChunkingSharedTest.testMultiConsumers timeout (#25475)
     add 574918f729e Fix missing log4j-layout-template-json in shell 
distribution (#25479)
     add aaf2defe4ba [fix][test] Fix flaky BrokerRegistryIntegrationTest port 
binding race (#25463)
     add 3982de020ac [fix][test] Fix flaky 
IsolatedBookieEnsemblePlacementPolicyTest.testMetadataStoreCases (#25474)
     add 0d0d6fbff4b [fix][test] Fix flaky PulsarFunctionsJavaThreadTest by 
adding retry to getFunctionStats (#25472)
     add f72a5a78c8f [fix][admin] Refactor namespace migration operation to 
async in rest api (#25478)
     add 7ec0f098b94 [fix][test] Fix flaky 
ManagedLedgerTest.testCursorPointsToDeletedLedgerAfterTrim (#25476)
     add 05a703b9fc1 [fix][test] Fix flaky 
FunctionRuntimeManagerTest.testExternallyManagedRuntimeUpdate (#25465)
     add 8d9d4976fee [fix][test] Fix flaky ManagedLedgerTest.testNoRetention 
(#25467)
     add 4a10fe9befc [refactor][broker] Decouple delayed delivery trackers from 
dispatcher (#25384)
     add 3bbe99c5017 [fix][test] Fix flaky 
MembershipManagerTest.testCheckFailuresSomeFailures (#25466)
     add 39baf221bee [fix][test] Fix flaky 
ConsumerBatchReceiveTest.testBatchReceiveAndRedeliveryNonPartitionedTopic 
(#25468)
     add 8e37e3ee63d [fix][broker] Fix backlog clearing for unloaded namespace 
bundles (#25272)
     add 20a380af2fa [cleanup][ci] Remove documentation label bot (#25469)
     add 14a811b0d7a [feat] PIP-460: Add topic:// and segment:// domain support 
to pulsar-common (#25456)
     add 2394bb10a87 [improve][ci] Replace trivy-action with 
sandboxed-trivy-action (#25480)
     add 39386090227 [improve][ci] Run filesystem offload tests also on Java 25 
since Hadoop has been upgraded to 3.5.0 (#25482)
     add 0b73b3a346c [fix][broker] Change the schema incompatible log from 
ERROR to WARN level (#25483)
     add 3216036cca3 [fix][ci] Fix CodeQL workflow and upgrade codeql-action to 
v4 (#25481)
     add d052de05eb6 [improve][ci] Include XML test reports in CI artifacts and 
generate HTML index (#25484)
     add 60d9cf558b6 [improve] PIP-467: Adopt slog for structured logging 
across Pulsar (#25462)
     add 0f97cbaa181 [fix][test] Fix flaky 
ReplicatorTest.testResumptionAfterBacklogRelaxed (#25493)
     add 381fa13b504 [fix][test] Fix thread resource leaks in tests and 
PrometheusMetricsProvider (#25487)
     add 04177057217 [fix][test] Fix flaky LeaderElectionServiceTest and 
PersistentDispatcherFailoverConsumerTest (#25498)
     add d96da971212 [fix][test] Fix flaky ModularLoadManagerImplTest and 
IsolatedBookieEnsemblePlacementPolicyTest (#25496)
     add 41a3932cbbd [improve][build] Add Maven publishing conventions for ASF 
release (#25457)
     add 104ea57c94b [fix][test] Fix flaky ManagedLedgerTest.testNoRetention 
and testInvalidateReadHandleWhenDeleteLedger (#25495)
     add 7ce8a8c7a03 [fix][test] Fix flaky 
ServerCnxTest.testCreateProducerTimeoutThenCreateSameNamedProducerShouldFail 
(#25497)
     add 0309a99ea26 [fix][test] Fix flaky InterceptorsTest and 
ProduceWithMessageIdTest (#25499)
     add 37696d2e847 [fix][test] Fix flaky TopicFromMessageTest by using unique 
topic names (#25494)
     add 0c86cf0032a [improve] Add context map to log4j2 pattern layouts 
(#25491)
     add 5b2778e8676 [fix] Upgrade Jetty to 12.1.6 to fix CVE-2026-1605 (#25485)
     add 12bcd6bcc9e [fix][test] Fix flaky 
ExtensibleLoadManagerTest.startBroker timeout (#25500)
     add c86a0405a5a [cleanup][build] Remove unused structured-event-log module 
(#25492)
     add dfe03c4fc1b [improve][client] PIP-234: Support sharing the memory 
limit controller across multiple isolated Pulsar client instances (#25477)
     add a39d241b088 [improve] PIP-467: Convert managed-ledger module logging 
from SLF4J to slog (#25490)
     add 9855b18ce96 [improve] PIP-467: Convert pulsar-metadata module logging 
from SLF4J to slog (#25505)
     add 792a76ac762 [improve] PIP-467: Convert pulsar-common module logging 
from SLF4J to slog (#25506)
     add aec41c4fe88 [improve][broker] update broker error message to include 
tenant name (#25503)
     add bf459748671 [fix][test] Fix flaky ExtensibleLoadManagerImpl client 
reconnection tests: PulsarClientException$AlreadyClosedException: Client 
already closed (#25509)
     add 089f87f329b [fix][ci] Ensure discard_max_bytes is set to 0 only for 
existing block devices (#25510)
     add cf7f9d9d939 [improve][all] Upgraded Jackson to 2.21 LTS and fixed a 
few gradle assemble warnings (#25504)
     add daa5f8db6ce [improve] PIP-467: Convert pulsar-client module logging 
from SLF4J to slog (#25507)
     add f688ff748fe [improve][broker] Close connection when close consumer 
write fails (#25520)
     add 8545ca4d8d7 [improve] Add PULSAR_LOG_FORMAT env var for easy JSON 
logging (#25515)
     add 840fc34473b [improve] PIP-467: Convert pulsar-functions module logging 
from SLF4J to slog (#25508)
     add 85937d8ea8e [fix][broker] Unthrottle producers immediately when 
publish rate limiting is disabled (#25502)
     add a8e629635b7 [fix] Fix typo 'seperated' in broker comments (#25524)
     add 352147bff42 [fix][broker] Revert "[improve][broker] Enhance advertised 
address resolution with fallback to localhost (#25238)" (#25523)
     add 4c96c730aa2 [fix][sec] Upgrade Jetty to address CVE-2026-2332 (#25527)
     add 40edde7dcd4 [improve] PIP-467: Convert remaining modules logging from 
SLF4J to slog (#25511)
     add dfb06f183c3 [fix][sec] Upgrade log4j to 2.25.4 to address 
CVE-2026-34477, CVE-2026-34478, CVE-2026-34480, CVE-2026-34481 (#25521)
     add e05c2129aad [fix][sec] Upgrade Jetty to address CVE-2026-5795 (#25532)
     add 4998cd9e4f6 [improve] PIP-467: Convert pulsar-broker module logging 
from SLF4J to slog (#25535)
     add d1352520c87 [improve][test] PIP-467: Convert pulsar-broker test files 
logging from SLF4J to slog (#25536)
     add ae2b8c76cec [improve] Emit flat OpenTelemetry JSON logs instead of ECS 
(#25542)
     add 97329ba8aea [improve][misc] Add deepwiki badge in README to enable 
automated index update (#25544)
     add af2eba9eebc [improve] PIP-467: Remove now-dead slf4j.api dependency 
from modules converted to slog (#25541)
     add 91c165c7ebb [improve] PIP-467: Convert Jetty request logs to 
structured slog events (#25543)
     add 744d2b8ec2d [improve][broker] Log only non-default config values on 
broker startup (#25545)
     add a4c291f6aa3 [fix][broker] Avoid Project access in broker test setup 
(#25529)
     add a1613bc2e5f [fix][sec] Upgrade to async-http-client 2.14.5 to address 
CVE-2026-40490 (#25546)
     add 90332238719 [fix][broker]Namespaces can be created with may empty 
replication_clusters policy (#25551)
     add 9e4e7e1277a [feat] [pip] PIP-466: New Java Client API (V5) with 
Scalable Topic Support (#25455)
     add 6ce15e13cc3 [feat] PIP-466: Add V5 client API for scalable topics 
(#25489)
     add 8c4e83d2374 [improve][common] Optimize TopicName.get() to reduce lock 
contention on cache lookup (#25367)
     add 3130a93b1ab [improve][broker] Improve the performance of TopicName 
constructor (#24463)
     add d553cec5485 [improve][ml] Warn and emit metric when cursor ack state 
exceeds persist limits (#25548)
     add c6c9032bd6f [feat] PIP-468: Scalable Topic Controller (#25516)
     add 93d13e2fdb1 [fix][doc] Correct loadConf example key in 
PulsarAdminBuilder (#25556)
     add 423a74698e1 [fix][broker] Lower log level of DrainingHashesTracker 
not-found entry to DEBUG (#25558)
     add 293eafc08c9 [fix][test] Recreate EventLoop in PublishRateLimiterTest 
setup (#25560)
     add f26e3bac7d4 [fix][test] Relax BrokerRegistryIntegrationTest 
broker-close threshold (#25562)
     add 9cf1cc9b5bf [fix][broker] pulsar admin stats internal with metadata 
command (#25557)
     add 43c7ad86ebf [fix][test] Extend 
SameAuthParamsLookupAutoClusterFailoverTest phase timeouts (#25563)
     add 77999fc8a94 [fix][test] Fix flaky 
OffloadPrefixTest.testPositionOnEdgeOfLedger race with ledger rollover (#25561)
     add 1071cc94b62 [fix][test] Flaky 
SameAuthParamsLookupAutoClusterFailoverTest (#25566)
     add 4addfdab1a2 [fix] Fix flaky 
BrokerDispatchRateLimiterTest.testBrokerDispatchThrottledMetrics (#25567)
     add db94b9534f0 [improve][broker] Use full bundle name for namespace 
bundle destination affinity in ModularLoadManagerImpl (#25518)
     add a14f6ccf314 [fix][sec] Upgrade BouncyCastle to 1.84 (CVE-2026-5588, 
CVE-2026-0636) (#25569)
     add 81a77530b83 [fix][broker] Replace Java serialization with JSON in 
package metadata (#25570)
     add 01fedb84a45 [fix][broker] Clean up orphan ledger on concurrent initial 
schema creation in BookkeeperSchemaStorage (#25514)
     add 2476b1b4ad4 [improve][fn] Log function package download completion and 
process PID (#25568)
     add fae3df958f7 [improve][client] Best-effort retry for 
individual/batch-index acks on send failure when ackReceiptEnabled=false 
(#25525)
     add 527efb6e47c [feat] PIP-468: Add ScalableTopicController and broker 
infrastructure (#25559)
     add 597eb0daa2c [feat] PIP-468: Add scalable topic protocol commands and 
connection handling (#25564)
     add 3c5c86639e3 [feat] PIP-468: Add scalable topics and segments admin 
APIs with CLI (#25565)
     add f6598d8408f [fix][client] Stabilize scaleReceiverQueueHint against 
concurrent enqueue/take (#25578)
     add f459a1a111b [feat] PIP-468: Implement V5 client with scalable topic 
producer and consumer types (#25573)
     add c160138818f [improve][pip] PIP-471: Authorization operation metrics

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (0703dbd7af6)
            \
             N -- N -- N   refs/heads/mattison/pip-298-authorization-metrics 
(c160138818f)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/PULL_REQUEST_TEMPLATE.md                   |   28 +-
 .github/actions/copy-test-reports/action.yml       |    3 +-
 .github/actions/setup-gradle/action.yml            |   11 +
 .github/actions/tune-runner-vm/action.yml          |   10 +-
 .github/workflows/ci-documentbot.yml               |   46 -
 .github/workflows/ci-go-functions.yaml             |    8 -
 .github/workflows/codeql.yaml                      |   10 +-
 .github/workflows/pulsar-ci-flaky.yaml             |   24 +-
 .github/workflows/pulsar-ci.yaml                   |   90 +-
 README.md                                          |    6 +-
 bin/bookkeeper                                     |    7 +-
 bin/pulsar                                         |   10 +-
 bin/pulsar-admin-common.cmd                        |    8 +-
 bin/pulsar-admin-common.sh                         |    7 +-
 bin/pulsar-perf                                    |    7 +-
 bouncy-castle/bc/build.gradle.kts                  |    6 +-
 .../apache/pulsar/bcloader/BouncyCastleLoader.java |    6 +-
 bouncy-castle/bcfips-include-test/build.gradle.kts |    1 +
 .../pulsar/client/TlsProducerConsumerTest.java     |   27 +-
 bouncy-castle/bcfips/build.gradle.kts              |    4 +-
 .../pulsar/bcloader/BouncyCastleFipsLoader.java    |    6 +-
 .../main/kotlin/pulsar.java-conventions.gradle.kts |   18 +-
 .../main/kotlin/pulsar.nar-conventions.gradle.kts  |   27 +-
 ...lsar.public-java-library-conventions.gradle.kts |   69 +
 .../kotlin/pulsar.publish-conventions.gradle.kts   |  181 +++
 build.gradle.kts                                   |   89 +-
 buildtools/build.gradle.kts                        |    1 +
 .../tests/BetweenTestClassesListenerAdapter.java   |    5 +-
 .../pulsar/tests/ExtendedNettyLeakDetector.java    |   11 +-
 .../org/apache/pulsar/tests/FailFastNotifier.java  |   10 +-
 .../tests/FastThreadLocalCleanupListener.java      |   13 +-
 .../pulsar/tests/FastThreadLocalStateCleaner.java  |   13 +-
 .../pulsar/tests/MockitoCleanupListener.java       |    7 +-
 .../tests/MockitoThreadLocalStateCleaner.java      |   42 +-
 .../pulsar/tests/SingletonCleanerListener.java     |   17 +-
 .../org/apache/pulsar/tests/TestRetrySupport.java  |   26 +-
 .../pulsar/tests/ThreadLeakDetectorListener.java   |   21 +-
 .../pulsar/tests/ThreadLocalStateCleaner.java      |    7 +-
 buildtools/src/main/resources/log4j2.xml           |    2 +-
 conf/OtelLogLayout.json                            |   63 +
 conf/broker.conf                                   |    4 +
 conf/functions_log4j2.xml                          |    6 +-
 conf/log4j2.yaml                                   |   47 +-
 conf/pulsar_env.sh                                 |    3 +
 distribution/server/src/assemble/LICENSE.bin.txt   |  127 +-
 distribution/shell/build.gradle.kts                |    1 +
 distribution/shell/src/assemble/LICENSE.bin.txt    |   71 +-
 docker/pulsar/build.gradle.kts                     |   11 +-
 gradle.properties                                  |    6 +
 gradle/libs.versions.toml                          |   36 +-
 gradle/setup-test-gpg.sh                           |   64 +
 jclouds-shaded/build.gradle.kts                    |    1 +
 .../apache/pulsar/jclouds/ShadedJCloudsUtils.java  |    4 +-
 .../build.gradle.kts                               |    3 +-
 .../bookkeeper/PrometheusMetricsProvider.java      |   22 +-
 .../ThreadScopedDataSketchesStatsLogger.java       |   26 +-
 .../zookeeper-prometheus-metrics/build.gradle.kts  |    3 +-
 .../zookeeper/PrometheusMetricsProvider.java       |   50 +-
 .../zookeeper-with-patched-admin/build.gradle.kts  |    3 +-
 .../zookeeper/server/admin/AdminServerFactory.java |   19 +-
 .../apache/zookeeper/server/admin/Commands.java    |   49 +-
 .../zookeeper/server/admin/JettyAdminServer.java   |   19 +-
 .../zookeeper/server/admin/JsonOutputter.java      |   14 +-
 .../zookeeper/server/admin/StreamOutputter.java    |    8 +-
 lombok.config                                      |    2 +-
 managed-ledger/build.gradle.kts                    |    4 +-
 .../mledger/ManagedLedgerReplayTask.java           |    9 +-
 .../impl/ActiveManagedCursorContainerImpl.java     |    4 +-
 .../apache/bookkeeper/mledger/impl/EntryImpl.java  |   11 +-
 .../mledger/impl/LedgerMetadataUtils.java          |   30 +-
 .../bookkeeper/mledger/impl/ManagedCursorImpl.java |  727 +++++-----
 .../mledger/impl/ManagedLedgerFactoryImpl.java     |  275 ++--
 .../bookkeeper/mledger/impl/ManagedLedgerImpl.java |  756 +++++-----
 .../mledger/impl/ManagedLedgerOfflineBacklog.java  |    4 -
 .../bookkeeper/mledger/impl/MetaStoreImpl.java     |   75 +-
 .../mledger/impl/NonDurableCursorImpl.java         |   15 +-
 .../apache/bookkeeper/mledger/impl/OpAddEntry.java |   59 +-
 .../bookkeeper/mledger/impl/OpFindNewest.java      |   23 +-
 .../bookkeeper/mledger/impl/OpReadEntry.java       |   54 +-
 .../org/apache/bookkeeper/mledger/impl/OpScan.java |   22 +-
 .../impl/OpenTelemetryManagedCursorStats.java      |   35 +
 .../mledger/impl/ReadOnlyCursorImpl.java           |    9 +-
 .../mledger/impl/ReadOnlyManagedLedgerImpl.java    |   11 +-
 .../mledger/impl/ShadowManagedLedgerImpl.java      |  111 +-
 .../mledger/impl/cache/InflightReadsLimiter.java   |   89 +-
 .../mledger/impl/cache/PendingReadsManager.java    |    4 +-
 .../bookkeeper/mledger/impl/cache/RangeCache.java  |   20 +-
 .../mledger/impl/cache/RangeCacheEntryWrapper.java |    4 +-
 .../mledger/impl/cache/RangeEntryCacheImpl.java    |   93 +-
 .../RangeEntryCacheManagerEvictionHandler.java     |   15 +-
 .../impl/cache/RangeEntryCacheManagerImpl.java     |   34 +-
 .../bookkeeper/mledger/offload/OffloadUtils.java   |   20 +-
 .../bookkeeper/mledger/offload/OffloaderUtils.java |   12 +-
 .../bookkeeper/mledger/offload/Offloaders.java     |   14 +-
 .../mledger/offload/OffloadersCache.java           |    6 +-
 .../bookkeeper/mledger/util/CallbackMutex.java     |   42 +-
 .../bookkeeper/mledger/SimpleBookKeeperTest.java   |   11 +-
 .../impl/InflightReadsLimiterIntegrationTest.java  |   28 +-
 .../mledger/impl/ManagedCursorConcurrencyTest.java |   12 +-
 .../impl/ManagedCursorInfoMetadataTest.java        |   10 +-
 .../bookkeeper/mledger/impl/ManagedCursorTest.java |  196 ++-
 .../mledger/impl/ManagedLedgerBkTest.java          |   10 +-
 .../mledger/impl/ManagedLedgerErrorsTest.java      |    7 +-
 .../impl/ManagedLedgerFactoryShutdownTest.java     |   14 +-
 .../impl/ManagedLedgerInfoMetadataTest.java        |   10 +-
 .../bookkeeper/mledger/impl/ManagedLedgerTest.java |  204 +--
 .../mledger/impl/NonDurableCursorTest.java         |   22 +-
 .../impl/OffloadEvictUnusedLedgersTest.java        |    5 +-
 .../mledger/impl/OffloadLedgerDeleteTest.java      |    5 +-
 .../bookkeeper/mledger/impl/OffloadPrefixTest.java |   12 +-
 .../mledger/impl/ShadowManagedLedgerImplTest.java  |   23 +-
 .../impl/cache/InflightReadsLimiterTest.java       |    4 +-
 .../impl/cache/PendingReadsManagerTest.java        |   17 +-
 .../mledger/util/ManagedLedgerImplUtilsTest.java   |    4 +-
 .../mledger/util/ManagedLedgerTestUtil.java        |    8 +-
 .../bookkeeper/test/BookKeeperClusterTestCase.java |   53 +-
 .../bookkeeper/test/MockedBookKeeperTestCase.java  |   18 +-
 .../org/apache/bookkeeper/test/ZooKeeperUtil.java  |   13 +-
 microbench/README.md                               |   41 +-
 microbench/build.gradle.kts                        |    1 -
 .../bookkeeper/mledger/impl/MockManagedCursor.java |    5 +-
 .../BucketDelayedDeliveryTrackerBenchmark.java     |  321 +++++
 ...ucketDelayedDeliveryTrackerSimpleBenchmark.java |  407 ------
 .../delayed/bucket/MockBucketSnapshotStorage.java  |  106 ++
 .../broker/naming/TopicNameGetBenchmark.java       |   88 ++
 .../apache/pulsar/broker/naming}/package-info.java |    4 +-
 microbench/src/main/resources/log4j2.xml           |    2 +-
 pip/pip-460.md                                     |  426 ++++++
 pip/pip-466.md                                     |  545 +++++--
 pip/pip-467.md                                     |  451 ++++++
 pip/pip-468.md                                     |  615 ++++++++
 pip/pip-471.md                                     |  249 ++++
 pulsar-bom/build.gradle.kts                        |    5 +-
 pulsar-broker-auth-athenz/build.gradle.kts         |    4 +-
 .../AuthenticationProviderAthenz.java              |   20 +-
 .../AuthenticationProviderAthenzTest.java          |    8 +
 pulsar-broker-auth-oidc/build.gradle.kts           |    3 +-
 .../oidc/AuthenticationProviderOpenID.java         |   13 +-
 .../broker/authentication/oidc/ConfigUtils.java    |   41 +-
 pulsar-broker-auth-sasl/build.gradle.kts           |    4 +-
 .../authentication/AuthenticationProviderSasl.java |   74 +-
 .../broker/authentication/PulsarSaslServer.java    |   34 +-
 .../SaslAuthenticationDataSource.java              |    4 +-
 .../authentication/SaslAuthenticationState.java    |    4 +-
 .../broker/authentication/SaslRoleToken.java       |    4 +-
 .../broker/authentication/SaslRoleTokenSigner.java |    4 +-
 .../pulsar/broker/authentication/MiniKdc.java      |    6 +-
 .../ProxySaslAuthenticationTest.java               |   20 +-
 .../authentication/SaslAuthenticateTest.java       |   20 +-
 .../authentication/SaslServerTokenSignerTest.java  |    4 +-
 pulsar-broker-common/build.gradle.kts              |    3 +-
 .../rackawareness/BookieRackAffinityMapping.java   |   39 +-
 .../IsolatedBookieEnsemblePlacementPolicy.java     |   28 +-
 .../apache/pulsar/broker/ServiceConfiguration.java |   18 +
 .../pulsar/broker/ServiceConfigurationUtils.java   |    8 +-
 .../authentication/AuthenticationDataCommand.java  |    6 +-
 .../AuthenticationDataSubscription.java            |    4 +-
 .../authentication/AuthenticationProviderList.java |   44 +-
 .../authentication/AuthenticationService.java      |   42 +-
 .../broker/authorization/AuthorizationService.java |   93 +-
 .../MultiRolesTokenAuthorizationProvider.java      |   11 +-
 .../authorization/PulsarAuthorizationProvider.java |  219 +--
 .../broker/limiter/ConnectionController.java       |   21 +-
 .../pulsar/broker/resources/BaseResources.java     |   12 +-
 .../broker/resources/ConsumerRegistration.java     |   38 +
 .../broker/resources/MetadataStoreCacheLoader.java |   12 +-
 .../broker/resources/NamespaceResources.java       |   31 +-
 .../pulsar/broker/resources/PulsarResources.java   |    4 +
 .../broker/resources/ScalableTopicMetadata.java    |   41 +-
 .../broker/resources/ScalableTopicResources.java   |  222 +++
 ...package-info.java => SubscriptionMetadata.java} |   15 +-
 .../{package-info.java => SubscriptionType.java}   |   22 +-
 .../pulsar/broker/resources/TenantResources.java   |    4 +-
 .../pulsar/broker/resources/TopicResources.java    |   16 +-
 .../stats/prometheus/PrometheusMetricsServlet.java |   27 +-
 .../topiclistlimit/TopicListMemoryLimiter.java     |   12 +-
 .../pulsar/broker/web/AuthenticationFilter.java    |   15 +-
 .../broker/web/DisableDebugHttpMethodFilter.java   |    8 +-
 .../web/DynamicSkipUnknownPropertyHandler.java     |    8 +-
 .../pulsar/broker/web/JettyRequestLogFactory.java  |  189 ++-
 .../web/plugin/servlet/AdditionalServletUtils.java |   21 +-
 .../servlet/AdditionalServletWithClassLoader.java  |    6 +-
 .../web/plugin/servlet/AdditionalServlets.java     |    8 +-
 .../configuration/PulsarConfigurationLoader.java   |   49 +-
 .../pulsar/common/configuration/VipStatus.java     |   18 +-
 .../pulsar/jetty/tls/JettySslContextFactory.java   |    4 +-
 .../IsolatedBookieEnsemblePlacementPolicyTest.java |   69 +-
 .../PulsarConfigurationLoaderTest.java             |   48 +
 .../pulsar/common/configuration/VipStatusTest.java |    4 +-
 .../jetty/tls/JettySslContextFactoryTest.java      |    4 +-
 .../JettySslContextFactoryWithKeyStoreTest.java    |    6 +-
 pulsar-broker/build.gradle.kts                     |   56 +-
 .../org/apache/pulsar/PulsarBrokerStarter.java     |   30 +-
 .../apache/pulsar/PulsarClusterMetadataSetup.java  |   29 +-
 .../pulsar/PulsarClusterMetadataTeardown.java      |   30 +-
 .../java/org/apache/pulsar/PulsarStandalone.java   |   19 +-
 .../org/apache/pulsar/PulsarStandaloneStarter.java |   19 +-
 .../pulsar/broker/BookKeeperClientFactoryImpl.java |    9 +-
 .../pulsar/broker/ManagedLedgerClientFactory.java  |   27 +-
 .../org/apache/pulsar/broker/PulsarService.java    |  230 +--
 .../broker/TransactionMetadataStoreService.java    |   71 +-
 .../apache/pulsar/broker/admin/AdminResource.java  |  194 ++-
 .../pulsar/broker/admin/impl/BrokerStatsBase.java  |   20 +-
 .../pulsar/broker/admin/impl/BrokersBase.java      |  123 +-
 .../pulsar/broker/admin/impl/ClustersBase.java     |  275 ++--
 .../broker/admin/impl/MetadataMigrationBase.java   |   12 +-
 .../pulsar/broker/admin/impl/NamespacesBase.java   | 1101 +++++++++------
 .../admin/impl/OffloaderObjectsScannerUtils.java   |   29 +-
 .../pulsar/broker/admin/impl/PackagesBase.java     |    4 +-
 .../broker/admin/impl/PersistentTopicsBase.java    | 1179 +++++++++++-----
 .../broker/admin/impl/ResourceGroupsBase.java      |   58 +-
 .../broker/admin/impl/ResourceQuotasBase.java      |    2 -
 .../broker/admin/impl/SchemasResourceBase.java     |    5 -
 .../pulsar/broker/admin/impl/TenantsBase.java      |   87 +-
 .../pulsar/broker/admin/impl/TransactionsBase.java |   24 +-
 .../org/apache/pulsar/broker/admin/v2/Bookies.java |    6 +-
 .../broker/admin/v2/ExtNonPersistentTopics.java    |    9 +-
 .../broker/admin/v2/ExtPersistentTopics.java       |    9 +-
 .../apache/pulsar/broker/admin/v2/Namespaces.java  |  691 ++++++---
 .../broker/admin/v2/NonPersistentTopics.java       |   89 +-
 .../pulsar/broker/admin/v2/PersistentTopics.java   |  568 ++++----
 .../pulsar/broker/admin/v2/ResourceQuotas.java     |   32 +-
 .../pulsar/broker/admin/v2/ScalableTopics.java     |  595 ++++++++
 .../pulsar/broker/admin/v2/SchemasResource.java    |   44 +-
 .../apache/pulsar/broker/admin/v2/Segments.java    |  208 +++
 .../org/apache/pulsar/broker/admin/v2/Worker.java  |    2 -
 .../apache/pulsar/broker/admin/v2/WorkerStats.java |    2 -
 .../pulsar/broker/admin/v3/Transactions.java       |   50 +-
 .../delayed/AbstractDelayedDeliveryTracker.java    |   49 +-
 .../BucketDelayedDeliveryTrackerFactory.java       |   14 +-
 ...ckage-info.java => DelayedDeliveryContext.java} |   13 +
 .../delayed/DispatcherDelayedDeliveryContext.java  |   36 +-
 .../delayed/InMemoryDelayedDeliveryTracker.java    |   50 +-
 .../InMemoryDelayedDeliveryTrackerFactory.java     |   13 +-
 .../broker/delayed/NoopDelayedDeliveryContext.java |   46 +-
 .../bucket/BookkeeperBucketSnapshotStorage.java    |    6 +-
 .../pulsar/broker/delayed/bucket/Bucket.java       |   20 +-
 .../bucket/BucketDelayedDeliveryTracker.java       |  143 +-
 .../broker/delayed/bucket/ImmutableBucket.java     |   57 +-
 .../broker/delayed/bucket/MutableBucket.java       |   16 +-
 .../broker/intercept/BrokerInterceptorUtils.java   |   16 +-
 .../BrokerInterceptorWithClassLoader.java          |    7 +-
 .../broker/intercept/BrokerInterceptors.java       |   12 +-
 .../intercept/ManagedLedgerInterceptorImpl.java    |    5 +-
 .../pulsar/broker/loadbalance/LinuxInfoUtils.java  |   41 +-
 .../pulsar/broker/loadbalance/LoadManager.java     |    7 +-
 .../broker/loadbalance/LoadReportUpdaterTask.java  |    7 +-
 .../loadbalance/LoadResourceQuotaUpdaterTask.java  |    7 +-
 .../broker/loadbalance/LoadSheddingTask.java       |    7 +-
 .../pulsar/broker/loadbalance/NoopLoadManager.java |    8 +-
 .../loadbalance/extensions/BrokerRegistryImpl.java |   28 +-
 .../extensions/ExtensibleLoadManagerImpl.java      |  111 +-
 .../channel/ServiceUnitStateChannelImpl.java       |  314 +++--
 ...ServiceUnitStateMetadataStoreTableViewImpl.java |    8 +-
 .../channel/ServiceUnitStateTableViewBase.java     |    2 -
 .../channel/ServiceUnitStateTableViewImpl.java     |   14 +-
 .../channel/ServiceUnitStateTableViewSyncer.java   |   26 +-
 .../extensions/channel/StateChangeListeners.java   |   14 +-
 .../filter/BrokerIsolationPoliciesFilter.java      |    4 +-
 .../extensions/filter/BrokerVersionFilter.java     |   31 +-
 .../extensions/manager/RedirectManager.java        |   10 +-
 .../extensions/manager/SplitManager.java           |   23 +-
 .../extensions/manager/UnloadManager.java          |   36 +-
 .../loadbalance/extensions/models/TopKBundles.java |    6 +-
 .../policies/AntiAffinityGroupPolicyHelper.java    |    7 +-
 .../policies/IsolationPoliciesHelper.java          |    4 +-
 .../reporter/BrokerLoadDataReporter.java           |   16 +-
 .../reporter/TopBundleLoadDataReporter.java        |   10 +-
 .../extensions/scheduler/SplitScheduler.java       |   15 +-
 .../extensions/scheduler/TransferShedder.java      |   50 +-
 .../extensions/scheduler/UnloadScheduler.java      |   37 +-
 .../store/TableViewLoadDataStoreImpl.java          |   12 +-
 .../DefaultNamespaceBundleSplitStrategyImpl.java   |   14 +-
 .../strategy/LeastResourceUsageWithWeight.java     |   39 +-
 .../pulsar/broker/loadbalance/impl/AvgShedder.java |   89 +-
 .../loadbalance/impl/BrokerVersionFilter.java      |   35 +-
 .../loadbalance/impl/BundleSplitterTask.java       |   37 +-
 .../loadbalance/impl/LeastLongTermMessageRate.java |   31 +-
 .../impl/LeastResourceUsageWithWeight.java         |   69 +-
 .../loadbalance/impl/LinuxBrokerHostUsageImpl.java |    7 +-
 .../broker/loadbalance/impl/LoadManagerShared.java |  139 +-
 .../loadbalance/impl/ModularLoadManagerImpl.java   |  120 +-
 .../impl/ModularLoadManagerWrapper.java            |    3 +-
 .../broker/loadbalance/impl/OverloadShedder.java   |   25 +-
 .../loadbalance/impl/PulsarLoadReportImpl.java     |    8 +-
 .../impl/ResourceAvailabilityRanker.java           |   14 +-
 .../loadbalance/impl/SimpleLoadManagerImpl.java    |  149 +-
 .../impl/SimpleResourceAllocationPolicies.java     |   13 +-
 .../broker/loadbalance/impl/ThresholdShedder.java  |   57 +-
 .../loadbalance/impl/UniformLoadShedder.java       |   33 +-
 .../loadbalance/impl/WRRPlacementStrategy.java     |   12 +-
 .../pulsar/broker/lookup/TopicLookupBase.java      |  104 +-
 .../pulsar/broker/lookup/v2/TopicLookup.java       |   11 +-
 .../pulsar/broker/namespace/NamespaceService.java  |  307 ++--
 .../pulsar/broker/namespace/OwnedBundle.java       |   23 +-
 .../pulsar/broker/namespace/OwnershipCache.java    |   32 +-
 .../broker/protocol/ProtocolHandlerUtils.java      |   16 +-
 .../protocol/ProtocolHandlerWithClassLoader.java   |    6 +-
 .../pulsar/broker/protocol/ProtocolHandlers.java   |   21 +-
 .../pulsar/broker/resourcegroup/ResourceGroup.java |  102 +-
 .../resourcegroup/ResourceGroupConfigListener.java |   34 +-
 .../ResourceGroupNamespaceConfigListener.java      |   37 +-
 .../broker/resourcegroup/ResourceGroupService.java |  135 +-
 .../resourcegroup/ResourceQuotaCalculatorImpl.java |   41 +-
 .../ResourceUsageTopicTransportManager.java        |   36 +-
 .../broker/rest/RestMessagePublishContext.java     |   18 +-
 .../java/org/apache/pulsar/broker/rest/Topics.java |   24 +-
 .../org/apache/pulsar/broker/rest/TopicsBase.java  |  200 +--
 .../broker/service/AbstractBaseDispatcher.java     |   23 +-
 .../AbstractDispatcherSingleActiveConsumer.java    |   38 +-
 .../pulsar/broker/service/AbstractReplicator.java  |  125 +-
 .../pulsar/broker/service/AbstractTopic.java       |   95 +-
 .../pulsar/broker/service/BacklogQuotaManager.java |  116 +-
 .../pulsar/broker/service/BrokerService.java       |  509 ++++---
 ...ConsistentHashingStickyKeyConsumerSelector.java |   26 +-
 .../org/apache/pulsar/broker/service/Consumer.java |  165 +--
 .../broker/service/DistributedIdGenerator.java     |   11 +-
 .../broker/service/DrainingHashesTracker.java      |   78 +-
 .../pulsar/broker/service/HealthChecker.java       |   47 +-
 .../org/apache/pulsar/broker/service/Producer.java |   90 +-
 .../broker/service/PublishRateLimiterImpl.java     |   26 +-
 .../broker/service/PulsarChannelInitializer.java   |    6 +-
 .../pulsar/broker/service/PulsarCommandSender.java |   18 +
 .../broker/service/PulsarCommandSenderImpl.java    |   52 +-
 .../service/PulsarMetadataEventSynchronizer.java   |  124 +-
 .../apache/pulsar/broker/service/PulsarStats.java  |   33 +-
 .../apache/pulsar/broker/service/ServerCnx.java    | 1491 +++++++++++++-------
 .../broker/service/ServerCnxThrottleTracker.java   |   12 +-
 .../broker/service/SharedConsumerAssignor.java     |   11 +-
 .../SystemTopicBasedTopicPoliciesService.java      |  122 +-
 .../SystemTopicTxnBufferSnapshotService.java       |   28 +-
 .../broker/service/TopicEventsDispatcher.java      |   13 +-
 .../pulsar/broker/service/TopicListService.java    |  147 +-
 .../broker/service/TopicPoliciesService.java       |    4 -
 .../NonPersistentDispatcherMultipleConsumers.java  |   37 +-
 ...onPersistentDispatcherSingleActiveConsumer.java |    4 +-
 .../nonpersistent/NonPersistentReplicator.java     |   47 +-
 ...istentStickyKeyDispatcherMultipleConsumers.java |   11 +-
 .../nonpersistent/NonPersistentSubscription.java   |   68 +-
 .../service/nonpersistent/NonPersistentTopic.java  |  149 +-
 .../service/persistent/DispatchRateLimiter.java    |   18 +-
 .../DispatchRateLimiterAsyncTokenBucketImpl.java   |    8 +-
 .../persistent/DispatchRateLimiterClassicImpl.java |    8 +-
 .../persistent/GeoPersistentReplicator.java        |   71 +-
 .../service/persistent/MessageDeduplication.java   |  153 +-
 .../PersistentDispatcherMultipleConsumers.java     |  262 ++--
 ...rsistentDispatcherMultipleConsumersClassic.java |  258 ++--
 .../PersistentDispatcherSingleActiveConsumer.java  |  196 ++-
 .../persistent/PersistentMessageExpiryMonitor.java |   87 +-
 .../persistent/PersistentMessageFinder.java        |   49 +-
 .../service/persistent/PersistentReplicator.java   |  223 ++-
 ...istentStickyKeyDispatcherMultipleConsumers.java |   91 +-
 ...tickyKeyDispatcherMultipleConsumersClassic.java |   42 +-
 .../service/persistent/PersistentSubscription.java |  282 ++--
 .../broker/service/persistent/PersistentTopic.java |  777 ++++++----
 .../persistent/PulsarCompactorSubscription.java    |   30 +-
 .../ReplicatedSubscriptionSnapshotCache.java       |   42 +-
 .../ReplicatedSubscriptionsController.java         |  103 +-
 .../ReplicatedSubscriptionsSnapshotBuilder.java    |   31 +-
 .../service/persistent/RescheduleReadHandler.java  |   20 +-
 .../service/persistent/ShadowReplicator.java       |   34 +-
 .../service/persistent/SubscribeRateLimiter.java   |   16 +-
 .../broker/service/plugin/EntryFilterProvider.java |   33 +-
 .../service/plugin/EntryFilterWithClassLoader.java |   11 +-
 .../service/scalable/ConsumerAssignment.java       |   27 +-
 .../broker/service/scalable/ConsumerSession.java   |  229 +++
 .../broker/service/scalable/DagWatchSession.java   |  257 ++++
 .../service/scalable/ScalableTopicController.java  |  627 ++++++++
 .../scalable/ScalableTopicLayoutResponse.java      |   45 +
 .../service/scalable/ScalableTopicService.java     |  284 ++++
 .../broker/service/scalable/SegmentLayout.java     |  269 ++++
 .../service/scalable/SubscriptionCoordinator.java  |  342 +++++
 .../broker/service/scalable}/package-info.java     |    2 +-
 .../schema/AvroSchemaBasedCompatibilityCheck.java  |    6 +-
 .../service/schema/BookkeeperSchemaStorage.java    |  130 +-
 .../service/schema/NeverSchemaValidator.java       |    3 -
 .../service/schema/SchemaRegistryService.java      |    7 +-
 .../service/schema/SchemaRegistryServiceImpl.java  |   78 +-
 .../schema/validator/SchemaDataValidator.java      |    5 +-
 .../validator/StructSchemaDataValidator.java       |    2 +-
 .../apache/pulsar/broker/stats/DimensionStats.java |   10 +-
 .../stats/prometheus/NamespaceStatsAggregator.java |    8 +-
 .../prometheus/PrometheusMetricsGenerator.java     |    7 +-
 .../prometheus/PulsarPrometheusMetricsServlet.java |   14 +-
 .../stats/prometheus/TransactionAggregator.java    |    8 +-
 .../NamespaceEventsSystemTopicFactory.java         |   12 +-
 .../broker/systopic/SystemTopicClientBase.java     |    6 +-
 .../systopic/TopicPoliciesSystemTopicClient.java   |   20 +-
 ...sactionBufferSnapshotBaseSystemTopicClient.java |   22 +-
 .../SingleSnapshotAbortedTxnProcessorImpl.java     |   36 +-
 .../SnapshotSegmentAbortedTxnProcessorImpl.java    |  111 +-
 .../broker/transaction/buffer/impl/TableView.java  |    6 +-
 .../buffer/impl/TopicTransactionBuffer.java        |  127 +-
 .../buffer/impl/TransactionBufferClientImpl.java   |    4 +-
 .../buffer/impl/TransactionBufferDisable.java      |    4 +-
 .../buffer/impl/TransactionBufferHandlerImpl.java  |   83 +-
 .../pendingack/impl/MLPendingAckReplyCallBack.java |   22 +-
 .../pendingack/impl/MLPendingAckStore.java         |   63 +-
 .../pendingack/impl/MLPendingAckStoreProvider.java |   55 +-
 .../pendingack/impl/PendingAckHandleImpl.java      |  132 +-
 .../recover/TransactionRecoverTrackerImpl.java     |    5 +-
 .../timeout/TransactionTimeoutTrackerImpl.java     |    4 +-
 .../apache/pulsar/broker/web/ExceptionHandler.java |    4 +-
 .../pulsar/broker/web/PreInterceptFilter.java      |   13 +-
 .../pulsar/broker/web/PulsarWebResource.java       |  225 +--
 .../pulsar/broker/web/ResponseHandlerFilter.java   |   20 +-
 .../org/apache/pulsar/broker/web/WebService.java   |   21 +-
 .../pulsar/client/impl/CompactionReaderImpl.java   |    5 +-
 .../apache/pulsar/client/impl/RawMessageImpl.java  |    6 +-
 .../apache/pulsar/client/impl/RawReaderImpl.java   |   12 +-
 .../common/naming/NamespaceBundleFactory.java      |   36 +-
 .../compaction/AbstractTwoPhaseCompactor.java      |   41 +-
 .../pulsar/compaction/CompactedTopicImpl.java      |   20 +-
 .../org/apache/pulsar/compaction/Compactor.java    |   10 +-
 .../apache/pulsar/compaction/CompactorTool.java    |   12 +-
 .../pulsar/compaction/EventTimeOrderCompactor.java |   13 +-
 .../compaction/PublishingOrderCompactor.java       |   15 +-
 .../compaction/StrategicTwoPhaseCompactor.java     |   61 +-
 .../pulsar/utils/TimedSingleThreadRateLimiter.java |   16 +-
 .../zookeeper/DefaultMetadataNodeSizeStats.java    |    4 +-
 .../pulsar/zookeeper/LocalBookkeeperEnsemble.java  |   80 +-
 .../impl/ConsumerUnsubscribeIntegrationTest.java   |    4 +-
 .../mledger/impl/CustomizedManagedLedgerTest.java  |    4 +-
 .../impl/MangedLedgerInterceptorImpl2Test.java     |    4 +-
 .../NonEntryCacheKeySharedSubscriptionV30Test.java |   35 +-
 .../impl/PersistentMessageExpiryMonitorTest.java   |    6 +-
 .../pulsar/PulsarClusterMetadataSetupTest.java     |    4 +-
 .../pulsar/broker/BrokerAdditionalServletTest.java |   10 +-
 .../org/apache/pulsar/broker/BrokerTestUtil.java   |   21 +-
 .../apache/pulsar/broker/BrokerTestUtilTest.java   |    4 +-
 .../broker/CustomizedPulsarResourcesExtended.java  |    9 +-
 .../apache/pulsar/broker/EndToEndMetadataTest.java |    4 +-
 .../LedgerLostAndSkipNonRecoverableTest.java       |   17 +-
 .../broker/MockedBookKeeperClientFactory.java      |    5 +-
 .../apache/pulsar/broker/MultiBrokerBaseTest.java  |    8 +-
 .../pulsar/broker/MultiBrokerTestZKBaseTest.java   |    8 +-
 .../broker/PublishWithMLPayloadProcessorTest.java  |    6 +-
 .../pulsar/broker/PulsarServiceBrokerIdTest.java   |    4 +-
 .../pulsar/broker/PulsarServiceCloseTest.java      |    4 +-
 .../apache/pulsar/broker/PulsarServiceTest.java    |    7 +-
 .../apache/pulsar/broker/SLAMonitoringTest.java    |   14 +-
 ...ameAuthParamsLookupAutoClusterFailoverTest.java |   14 +-
 .../pulsar/broker/TopicEventsListenerTest.java     |   14 +-
 .../apache/pulsar/broker/admin/AdminApi2Test.java  |   65 +-
 .../pulsar/broker/admin/AdminApiClusterTest.java   |    4 +-
 .../broker/admin/AdminApiDelayedDeliveryTest.java  |    4 +-
 .../admin/AdminApiDynamicConfigurationsTest.java   |    4 +-
 .../broker/admin/AdminApiHealthCheckTest.java      |    6 +-
 .../admin/AdminApiMaxUnackedMessagesTest.java      |    4 +-
 .../broker/admin/AdminApiMultiBrokersTest.java     |   11 +-
 ...AdminApiNamespaceIsolationMultiBrokersTest.java |    4 +-
 .../broker/admin/AdminApiSchemaAutoUpdateTest.java |    4 +-
 .../admin/AdminApiSchemaJsonValidationTest.java    |   11 +-
 .../pulsar/broker/admin/AdminApiSchemaTest.java    |   16 +-
 .../AdminApiSchemaValidationEnforcedTest.java      |    4 +-
 .../broker/admin/AdminApiSchemaWithAuthTest.java   |    4 +-
 .../broker/admin/AdminApiSubscriptionTest.java     |    4 +-
 .../pulsar/broker/admin/AdminApiTenantTest.java    |    4 +-
 .../apache/pulsar/broker/admin/AdminApiTest.java   |  151 +-
 .../pulsar/broker/admin/AdminApiTlsAuthTest.java   |    4 +-
 .../apache/pulsar/broker/admin/AdminRestTest.java  |    4 +-
 .../pulsar/broker/admin/AdminTopicApiTest.java     |    7 +-
 .../apache/pulsar/broker/admin/BookiesApiTest.java |    6 +-
 .../broker/admin/BrokerAdminClientTlsAuthTest.java |    6 +-
 .../apache/pulsar/broker/admin/BrokerStatTest.java |    4 +-
 .../broker/admin/CreateSubscriptionTest.java       |    4 +-
 .../admin/GetPartitionMetadataMultiBrokerTest.java |   10 +-
 .../broker/admin/GetPartitionMetadataTest.java     |   10 +-
 .../apache/pulsar/broker/admin/NamespacesTest.java |   23 +-
 .../pulsar/broker/admin/NamespacesV2Test.java      |   30 +-
 .../pulsar/broker/admin/PersistentTopicsTest.java  |   24 +-
 .../admin/PulsarClientImplMultiBrokersTest.java    |    4 +-
 .../pulsar/broker/admin/TopicAutoCreationTest.java |    8 +-
 .../pulsar/broker/admin/TopicMessageTTLTest.java   |   20 +-
 .../broker/admin/TopicPoliciesDisableTest.java     |   40 +-
 .../pulsar/broker/admin/TopicPoliciesTest.java     |  313 +++-
 .../broker/admin/TopicPoliciesUpdateTest.java      |    4 +-
 .../admin/TopicPoliciesWithBrokerRestartTest.java  |    4 +-
 .../v3/AdminApiTransactionMultiBrokerTest.java     |    4 +-
 .../pulsar/broker/admin/v3/AsyncResponseTest.java  |    6 +-
 .../apache/pulsar/broker/auth/AuthLogsTest.java    |    6 +-
 .../pulsar/broker/auth/MockAuthentication.java     |    5 +-
 .../broker/auth/MockAuthenticationProvider.java    |    5 +-
 .../broker/auth/MockAuthorizationProvider.java     |    5 +-
 .../broker/auth/MockedPulsarServiceBaseTest.java   |   17 +-
 .../apache/pulsar/broker/auth/PortForwarder.java   |   13 +-
 .../AbstractBrokerEntryCacheMultiBrokerTest.java   |    9 +-
 .../pulsar/broker/cache/BacklogConsumerTest.java   |    6 +-
 .../cache/BrokerEntryCacheRollingRestartTest.java  |   52 +-
 .../pulsar/broker/cache/BrokerEntryCacheTest.java  |   74 +-
 .../cache/MinimumBacklogCacheStrategyTest.java     |    6 +-
 .../broker/delayed/MockBucketSnapshotStorage.java  |    4 +-
 .../delayed/bucket/DelayedIndexQueueTest.java      |    9 +-
 .../broker/intercept/CounterBrokerInterceptor.java |   79 +-
 .../ManagedLedgerInterceptorImplTest.java          |    7 +-
 ...isedListenersMultiBrokerLeaderElectionTest.java |    4 +-
 .../loadbalance/AdvertisedListenersTest.java       |    4 +-
 .../loadbalance/LeaderElectionServiceTest.java     |    9 +-
 .../broker/loadbalance/LinuxInfoUtilsTest.java     |    4 +-
 .../broker/loadbalance/LoadBalancerTest.java       |   34 +-
 .../MultiBrokerLeaderElectionExpirationTest.java   |    4 +-
 .../loadbalance/MultiBrokerLeaderElectionTest.java |   14 +-
 .../broker/loadbalance/SimpleBrokerStartTest.java  |    8 +-
 .../loadbalance/SimpleLoadManagerImplTest.java     |    4 +-
 .../extensions/BrokerRegistryIntegrationTest.java  |   25 +-
 .../loadbalance/extensions/BrokerRegistryTest.java |   12 +-
 .../extensions/ExtensibleLoadManagerCloseTest.java |    8 +-
 .../ExtensibleLoadManagerImplBaseTest.java         |   52 +-
 .../extensions/ExtensibleLoadManagerImplTest.java  |   67 +-
 ...LoadManagerImplWithAdvertisedListenersTest.java |   51 +-
 .../extensions/manager/SplitManagerTest.java       |    4 +-
 .../extensions/manager/UnloadManagerTest.java      |    4 +-
 .../loadbalance/impl/BundleSplitterTaskTest.java   |    4 +-
 .../impl/LinuxBrokerHostUsageImplTest.java         |    7 +-
 .../impl/ModularLoadManagerImplTest.java           |   43 +-
 .../loadbalance/impl/ThresholdShedderTest.java     |    4 +-
 .../broker/namespace/NamespaceServiceTest.java     |   11 +-
 .../OwnerShipCacheForCurrentServerTest.java        |    4 +-
 .../OwnerShipForCurrentServerTestBase.java         |    6 +-
 .../protocol/PulsarClientBasedHandlerTest.java     |    8 +-
 .../protocol/SimpleProtocolHandlerTestsBase.java   |    6 +-
 .../RGUsageMTAggrWaitForAllMsgsTest.java           |   83 +-
 .../ResourceGroupConfigListenerTest.java           |    4 +-
 .../resourcegroup/ResourceGroupServiceTest.java    |   24 +-
 .../ResourceGroupUsageAggregationTest.java         |    4 +-
 .../broker/service/BacklogQuotaManagerTest.java    |   31 +-
 .../pulsar/broker/service/BatchMessageTest.java    |   33 +-
 .../BatchMessageWithBatchIndexLevelTest.java       |    8 +-
 .../pulsar/broker/service/BkEnsemblesTestBase.java |    6 +-
 .../broker/service/BrokerBkEnsemblesTest.java      |   10 +-
 .../broker/service/BrokerBookieIsolationTest.java  |    6 +-
 .../service/BrokerDispatchRateLimiterTest.java     |   20 +-
 .../BrokerServiceBundlesCacheInvalidationTest.java |    6 +-
 .../broker/service/BrokerServiceChaosTest.java     |    4 +-
 .../pulsar/broker/service/BrokerServiceTest.java   |    7 +-
 .../pulsar/broker/service/BrokerTestBase.java      |   11 +-
 .../CanReconnectZKClientPulsarServiceBaseTest.java |   10 +-
 .../broker/service/ClusterMigrationTest.java       |    9 +-
 .../broker/service/ConsumedLedgersTrimTest.java    |   14 +-
 ...eateTopicToRemoteClusterForReplicationTest.java |    4 +-
 .../DispatchRateLimiterOverconsumingTest.java      |   21 +-
 ...eoReplicationWithConfigurationSyncTestBase.java |    4 +-
 .../apache/pulsar/broker/service/Ipv4Proxy.java    |    6 +-
 .../apache/pulsar/broker/service/KeyValueTest.java |    4 +-
 .../broker/service/ManagedLedgerConfigTest.java    |    4 +-
 .../pulsar/broker/service/MaxMessageSizeTest.java  |    4 +-
 .../pulsar/broker/service/MessageTTLTest.java      |   10 +-
 .../broker/service/NetworkErrorTestBase.java       |    7 +-
 .../pulsar/broker/service/NullValueTest.java       |    4 +-
 .../service/OneWayReplicatorDeduplicationTest.java |   83 +-
 ...eWayReplicatorSchemaValidationEnforcedTest.java |    4 +-
 .../broker/service/OneWayReplicatorTest.java       |   38 +-
 .../broker/service/OneWayReplicatorTestBase.java   |    9 +-
 ...OneWayReplicatorUsingGlobalPartitionedTest.java |    4 +-
 .../service/OneWayReplicatorUsingGlobalZKTest.java |   10 +-
 .../PersistentDispatcherFailoverConsumerTest.java  |    7 +-
 .../service/PersistentMessageFinderTest.java       |   21 +-
 .../broker/service/PersistentQueueE2ETest.java     |   32 +-
 .../service/PersistentTopicConcurrentTest.java     |   24 +-
 .../PersistentTopicInitializeDelayTest.java        |    8 +-
 .../pulsar/broker/service/PersistentTopicTest.java |   26 +-
 .../PublishRateLimiterOverconsumingTest.java       |   17 +-
 .../broker/service/PublishRateLimiterTest.java     |  129 +-
 .../pulsar/broker/service/RackAwareTest.java       |   22 +-
 .../broker/service/ReplicatedSubscriptionTest.java |   12 +-
 .../broker/service/ReplicationTopicGcTest.java     |    4 +-
 .../ReplicationTopicGcUsingGlobalZKTest.java       |    4 +-
 .../pulsar/broker/service/ReplicationTxnTest.java  |    4 +-
 .../broker/service/ReplicatorGlobalNSTest.java     |   10 +-
 .../broker/service/ReplicatorRateLimiterTest.java  |   23 +-
 .../pulsar/broker/service/ReplicatorTest.java      |   75 +-
 .../pulsar/broker/service/ReplicatorTestBase.java  |   30 +-
 .../pulsar/broker/service/ReplicatorTlsTest.java   |    6 +-
 .../pulsar/broker/service/ResendRequestTest.java   |  149 +-
 .../broker/service/ServerCnxNonInjectionTest.java  |    4 +-
 .../pulsar/broker/service/ServerCnxTest.java       |   48 +-
 .../SetReplicationClustersValidationTest.java      |    4 +-
 .../broker/service/SharedPulsarBaseTest.java       |   10 +-
 .../pulsar/broker/service/SharedPulsarCluster.java |   10 +-
 .../broker/service/SubscriptionSeekTest.java       |   20 +-
 .../pulsar/broker/service/SyncConfigStoreTest.java |    4 +-
 .../SystemTopicBasedTopicPoliciesServiceTest.java  |   11 +-
 .../apache/pulsar/broker/service/TopicGCTest.java  |   10 +-
 .../broker/service/TopicListServiceTest.java       |    4 +-
 .../pulsar/broker/service/TopicOwnerTest.java      |    6 +-
 .../ZKMetadataStoreBatchIOperationTest.java        |   12 +-
 .../pulsar/broker/service/ZkSessionExpireTest.java |   46 +-
 .../service/persistent/MessageDuplicationTest.java |    7 +-
 ...tentDispatcherMultipleConsumersClassicTest.java |    4 +-
 ...tDispatcherMultipleConsumersReadLimitsTest.java |    8 +-
 .../PersistentDispatcherMultipleConsumersTest.java |    4 +-
 ...rsistentDispatcherSingleActiveConsumerTest.java |    4 +-
 .../PersistentReplicatorInflightTaskTest.java      |    4 +-
 .../PersistentTopicProtectedMethodsTest.java       |    4 +-
 .../service/persistent/PersistentTopicTest.java    |    8 +-
 .../ReplicatedSubscriptionSnapshotCacheTest.java   |   22 +-
 .../service/persistent/ShadowReplicatorTest.java   |    5 +-
 .../broker/service/persistent/ShadowTopicTest.java |    9 +-
 .../service/plugin/EntryFilterProducerTest.java    |   19 +-
 .../broker/service/plugin/EntryFilterTest.java     |   19 +-
 .../broker/service/plugin/FilterEntryTest.java     |   19 +-
 .../service/scalable/ConsumerSessionTest.java      |  299 ++++
 .../service/scalable/DagWatchSessionTest.java      |  330 +++++
 .../scalable/ScalableTopicControllerTest.java      |  462 ++++++
 .../service/scalable/ScalableTopicServiceTest.java |  350 +++++
 .../broker/service/scalable/SegmentLayoutTest.java |  250 ++++
 .../scalable/SubscriptionCoordinatorTest.java      |  266 ++++
 .../pulsar/broker/stats/ConsumerStatsTest.java     |   11 +-
 .../broker/stats/MetricsAuthenticationTest.java    |    4 +-
 .../broker/stats/PrometheusMetricsLabelsTest.java  |    4 +-
 .../pulsar/broker/stats/PrometheusMetricsTest.java |    5 +-
 .../pulsar/broker/stats/SubscriptionStatsTest.java |    4 +-
 .../stats/TransactionBatchWriterMetricsTest.java   |    5 +-
 .../broker/stats/TransactionMetricsTest.java       |    5 +-
 .../NamespaceEventsSystemTopicServiceTest.java     |   10 +-
 .../testcontext/AbstractTestPulsarService.java     |    6 +-
 .../broker/testcontext/PulsarTestContext.java      |    7 +-
 ...thenticatedTransactionProducerConsumerTest.java |    7 +-
 .../SegmentAbortedTxnProcessorTest.java            |    4 +-
 .../TopicTransactionBufferRecoverTest.java         |   21 +-
 .../broker/transaction/TransactionConsumeTest.java |   22 +-
 .../broker/transaction/TransactionProduceTest.java |   30 +-
 .../pulsar/broker/transaction/TransactionTest.java |   21 +-
 .../broker/transaction/TransactionTestBase.java    |    7 +-
 .../buffer/TransactionBufferClientTest.java        |    6 +-
 .../buffer/TransactionBufferCloseTest.java         |    4 +-
 .../buffer/TransactionLowWaterMarkTest.java        |    5 +-
 .../buffer/TransactionStablePositionTest.java      |    4 +-
 .../impl/TransactionPersistentTopicTest.java       |    4 +-
 .../coordinator/TransactionMetaStoreTestBase.java  |    9 +-
 .../pendingack/PendingAckInMemoryDeleteTest.java   |   17 +-
 .../pendingack/PendingAckPersistentTest.java       |    9 +-
 .../pendingack/impl/MLPendingAckStoreTest.java     |    4 +-
 .../broker/web/WebServiceOriginalClientIPTest.java |   21 +-
 .../apache/pulsar/broker/web/WebServiceTest.java   |   14 +-
 .../broker/zookeeper/ClusterMetadataSetupTest.java |   14 +-
 .../MultiBrokerMetadataConsistencyTest.java        |    8 +-
 .../api/AuthenticatedProducerConsumerTest.java     |   30 +-
 .../AuthenticationTlsHostnameVerificationTest.java |   19 +-
 .../api/AuthorizationProducerConsumerTest.java     |   47 +-
 .../pulsar/client/api/BrokerServiceLookupTest.java |   53 +-
 .../client/api/ClientDeduplicationFailureTest.java |   23 +-
 .../pulsar/client/api/ClientDeduplicationTest.java |   12 +-
 .../client/api/ConsumerBatchReceiveTest.java       |   33 +-
 .../pulsar/client/api/ConsumerRedeliveryTest.java  |   11 +-
 .../DeadLetterTopicDefaultMultiPartitionsTest.java |    6 +-
 .../pulsar/client/api/DeadLetterTopicTest.java     |  134 +-
 .../client/api/DispatcherBlockConsumerTest.java    |   49 +-
 .../client/api/FailoverSubscriptionTest.java       |    4 +-
 .../client/api/HybridTypesAcknowledgeTest.java     |   37 +-
 .../client/api/InjectedClientCnxClientBuilder.java |    8 +-
 .../apache/pulsar/client/api/InterceptorsTest.java |   36 +-
 .../api/KeySharedSubscriptionBrokerCacheTest.java  |   13 +-
 ...ySharedSubscriptionDisabledBrokerCacheTest.java |   14 +-
 .../client/api/KeySharedSubscriptionTest.java      |   92 +-
 .../pulsar/client/api/LookupPropertiesTest.java    |    4 +-
 .../apache/pulsar/client/api/MaxProducerTest.java  |    4 +-
 .../client/api/MessageDispatchThrottlingTest.java  |   87 +-
 .../client/api/MessageListenerExecutorTest.java    |   11 +-
 .../pulsar/client/api/MockBrokerService.java       |   19 +-
 .../pulsar/client/api/MultiTopicsConsumerTest.java |    4 +-
 .../client/api/MutualAuthenticationTest.java       |   21 +-
 .../client/api/NonDurableSubscriptionTest.java     |   66 +-
 .../api/NonPartitionedTopicExpectedTest.java       |    6 +-
 .../pulsar/client/api/NonPersistentTopicTest.java  |   37 +-
 .../client/api/OrphanPersistentTopicTest.java      |   14 +-
 .../api/PartitionedProducerConsumerTest.java       |   83 +-
 ...ackPressureMultipleConsumersHttpLookupTest.java |    4 +-
 ...nConsumerBackPressureMultipleConsumersTest.java |   31 +-
 .../api/PatternConsumerBackPressureTest.java       |    9 +-
 ...icWatcherBackPressureMultipleConsumersTest.java |    9 +-
 .../client/api/PatternMultiTopicsConsumerTest.java |   10 +-
 .../client/api/PersistentTopicTerminateTest.java   |    4 +-
 .../pulsar/client/api/ProxyProtocolTest.java       |    5 +-
 .../apache/pulsar/client/api/RetryTopicTest.java   |  133 +-
 .../pulsar/client/api/ServiceUrlProviderTest.java  |    4 +-
 ...roducerConsumerDisallowAutoCreateTopicTest.java |    6 +-
 ...impleProducerConsumerMLInitializeDelayTest.java |    6 +-
 .../client/api/SimpleProducerConsumerStatTest.java |   51 +-
 .../client/api/SimpleProducerConsumerTest.java     |  329 ++---
 .../apache/pulsar/client/api/SimpleSchemaTest.java |   16 +-
 .../api/SimpleTypedProducerConsumerTest.java       |   57 +-
 .../SubscriptionMessageDispatchThrottlingTest.java |   65 +-
 .../api/SubscriptionPauseOnAckStatPersistTest.java |    4 +-
 .../pulsar/client/api/TlsProducerConsumerTest.java |   27 +-
 .../TokenAuthenticatedProducerConsumerTest.java    |   23 +-
 .../api/TokenExpirationProduceConsumerTest.java    |    4 +-
 ...kenOauth2AuthenticatedProducerConsumerTest.java |   19 +-
 .../apache/pulsar/client/api/TopicReaderTest.java  |   33 +-
 .../pulsar/client/api/UnloadSubscriptionTest.java  |   30 +-
 .../client/impl/AdminApiKeyStoreTlsAuthTest.java   |    6 +-
 .../impl/AutoCloseUselessClientConTXTest.java      |    6 +-
 .../impl/AutoScaledReceiverQueueSizeTest.java      |   65 +-
 .../impl/BatchMessageIndexAckDisableTest.java      |    4 +-
 .../client/impl/BatchMessageIndexAckTest.java      |    4 +-
 .../client/impl/BrokerClientIntegrationTest.java   |   33 +-
 .../apache/pulsar/client/impl/ClientCnxTest.java   |    6 +-
 .../pulsar/client/impl/ClientInterruptTest.java    |    6 +-
 .../client/impl/ClientWithSocks5ProxyTest.java     |    6 +-
 .../pulsar/client/impl/ConnectionHandlerTest.java  |    4 +-
 .../apache/pulsar/client/impl/ConsumerAckTest.java |   14 +-
 .../pulsar/client/impl/ConsumerCloseTest.java      |    4 +-
 .../impl/ConsumerDecryptFailListenerTest.java      |   12 +-
 .../client/impl/ConsumerMemoryLimitTest.java       |  113 +-
 .../client/impl/DisabledSystemTopicTest.java       |    4 +-
 .../impl/HierarchyTopicAutoCreationTest.java       |    4 +-
 ...eyStoreTlsProducerConsumerTestWithAuthTest.java |   18 +-
 ...toreTlsProducerConsumerTestWithoutAuthTest.java |   18 +-
 .../pulsar/client/impl/LookupServiceTest.java      |    4 +-
 .../pulsar/client/impl/MessageChecksumTest.java    |    5 +-
 .../impl/MessageChunkingDeduplicationTest.java     |    4 +-
 .../client/impl/MessageChunkingSharedTest.java     |   17 +-
 .../pulsar/client/impl/MessageChunkingTest.java    |   45 +-
 .../apache/pulsar/client/impl/MessageIdTest.java   |   13 +-
 .../client/impl/MessagePublishThrottlingTest.java  |   83 +-
 .../pulsar/client/impl/MessageRedeliveryTest.java  |    7 +-
 .../apache/pulsar/client/impl/MockMessageTest.java |    6 +-
 .../pulsar/client/impl/MultiTopicsReaderTest.java  |    8 +-
 .../pulsar/client/impl/NegativeAcksTest.java       |   31 +-
 .../impl/PartialPartitionedProducerTest.java       |    4 +-
 .../impl/PatternTopicsConsumerImplAuthTest.java    |   11 +-
 .../client/impl/PatternTopicsConsumerImplTest.java |   33 +-
 .../PerMessageUnAcknowledgedRedeliveryTest.java    |    5 +-
 .../client/impl/ProduceWithMessageIdTest.java      |   15 +-
 .../client/impl/ProducerConsumerInternalTest.java  |   14 +-
 .../pulsar/client/impl/ProducerMemoryLeakTest.java |    4 +-
 .../client/impl/ProducerMemoryLimitTest.java       |   85 ++
 .../client/impl/ProducerReconnectionTest.java      |    6 +-
 .../client/impl/PulsarMultiHostClientTest.java     |   26 +-
 .../pulsar/client/impl/PulsarTestClient.java       |   10 +-
 .../pulsar/client/impl/RawMessageSerDeserTest.java |    5 +-
 .../apache/pulsar/client/impl/RawReaderTest.java   |    8 +-
 .../org/apache/pulsar/client/impl/ReaderTest.java  |   18 +-
 .../client/impl/ServiceUrlQuarantineTest.java      |   24 +-
 .../client/impl/SimpleProduceConsumeIoTest.java    |    4 +-
 .../apache/pulsar/client/impl/TableViewTest.java   |   36 +-
 .../pulsar/client/impl/TopicFromMessageTest.java   |   71 +-
 .../impl/TopicPublishThrottlingInitTest.java       |   20 +-
 .../pulsar/client/impl/TopicsConsumerImplTest.java |   37 +-
 .../client/impl/TransactionClientConnectTest.java  |    4 +-
 .../client/impl/TransactionEndToEndTest.java       |   24 +-
 ...ransactionEndToEndWithoutBatchIndexAckTest.java |    4 +-
 .../impl/UnAcknowledgedMessagesTimeoutTest.java    |    9 +-
 .../pulsar/client/impl/ZeroQueueSizeTest.java      |    7 +-
 .../processor/CustomBatchPayloadProcessor.java     |    4 +-
 .../client/processor/CustomBatchProducer.java      |   12 +-
 .../processor/MessagePayloadProcessorTest.java     |    8 +-
 .../pulsar/common/naming/NamespaceBundlesTest.java |   13 +-
 .../common/protocol/ProducerBatchSendTest.java     |    4 +-
 .../pulsar/compaction/CompactionRetentionTest.java |   38 +-
 .../apache/pulsar/compaction/CompactionTest.java   |   13 +-
 .../compaction/GetLastMessageIdCompactedTest.java  |    9 +-
 .../StrategicCompactionRetentionTest.java          |    4 +-
 .../apache/pulsar/functions/worker/FileServer.java |    6 +-
 .../worker/PulsarFunctionE2ESecurityTest.java      |   13 +-
 .../worker/PulsarFunctionLocalRunTest.java         |   15 +-
 .../worker/PulsarFunctionMetadataStoreTest.java    |    4 +-
 .../worker/PulsarFunctionPublishTest.java          |    8 +-
 .../functions/worker/PulsarFunctionTlsTest.java    |   12 +-
 .../worker/PulsarWorkerAssignmentTest.java         |   12 +-
 .../functions/worker/TestPulsarFunctionUtils.java  |    4 +-
 .../apache/pulsar/io/AbstractPulsarE2ETest.java    |    9 +-
 .../apache/pulsar/io/PulsarBatchSourceE2ETest.java |    3 +-
 .../apache/pulsar/io/PulsarFunctionAdminTest.java  |    8 +-
 .../apache/pulsar/io/PulsarFunctionE2ETest.java    |    7 +-
 .../apache/pulsar/io/PulsarFunctionTlsTest.java    |    8 +-
 .../org/apache/pulsar/io/PulsarSinkE2ETest.java    |    6 +-
 .../org/apache/pulsar/io/PulsarSourceE2ETest.java  |    3 +-
 .../java/org/apache/pulsar/schema/SchemaTest.java  |  107 +-
 .../SchemaCompatibilityCheckTest.java              |    4 +-
 .../org/apache/pulsar/socks5/Socks5Server.java     |    8 +-
 .../socks5/handler/CommandRequestHandler.java      |    8 +-
 .../socks5/handler/InitialRequestHandler.java      |    6 +-
 .../socks5/handler/PasswordAuthRequestHandler.java |    4 +-
 .../stats/client/PulsarBrokerStatsClientTest.java  |   12 +-
 .../org/apache/pulsar/utils/TestLogAppender.java   |   11 +-
 .../proxy/ClientSideEncryptionWssConsumer.java     |   23 +-
 .../proxy/ClientSideEncryptionWssProducer.java     |   12 +-
 .../websocket/proxy/ProxyAuthenticationTest.java   |   10 +-
 .../proxy/ProxyEncryptionPublishConsumeTest.java   |   12 +-
 .../websocket/proxy/ProxyIdleTimeoutTest.java      |    4 +-
 .../pulsar/websocket/proxy/ProxyPingTest.java      |    4 +-
 ...roxyPublishConsumeClientSideEncryptionTest.java |   10 +-
 .../websocket/proxy/ProxyPublishConsumeTest.java   |   20 +-
 .../proxy/ProxyPublishConsumeTlsTest.java          |   10 +-
 .../proxy/ProxyPublishConsumeWithoutZKTest.java    |   10 +-
 .../pulsar/websocket/proxy/ProxyRoleAuthTest.java  |   51 +-
 .../websocket/proxy/SimpleConsumerSocket.java      |   12 +-
 .../websocket/proxy/SimpleProducerSocket.java      |   10 +-
 .../websocket/proxy/WssClientSideEncryptUtils.java |    6 +-
 .../pulsar/zookeeper/ZookeeperServerTest.java      |   14 +-
 pulsar-broker/src/test/resources/log4j2.xml        |    4 +-
 pulsar-build/pulsar_ci_tool.sh                     |  140 +-
 pulsar-build/run_integration_group_gradle.sh       |    3 +-
 pulsar-cli-utils/build.gradle.kts                  |    2 +-
 pulsar-client-admin-api/build.gradle.kts           |    4 +-
 .../apache/pulsar/client/admin/PulsarAdmin.java    |    5 +
 .../pulsar/client/admin/PulsarAdminBuilder.java    |    2 +-
 .../pulsar/client/admin/PulsarAdminException.java  |    4 +-
 .../apache/pulsar/client/admin/ScalableTopics.java |  260 ++++
 .../apache/pulsar/common/functions/WorkerInfo.java |    6 +-
 .../apache/pulsar/common/naming/TopicDomain.java   |    3 +-
 ...leteMode.java => ScalableSubscriptionType.java} |   18 +-
 .../policies/data/ScalableTopicMetadata.java       |   98 ++
 .../common/policies/data/ScalableTopicStats.java   |   83 ++
 .../data/ScalableSubscriptionTypeTest.java         |   48 +
 .../policies/data/ScalableTopicMetadataTest.java   |  194 +++
 .../policies/data/ScalableTopicStatsTest.java      |  163 +++
 pulsar-client-admin-shaded/build.gradle.kts        |    2 +-
 pulsar-client-admin/build.gradle.kts               |    3 +-
 .../pulsar/client/admin/internal/BaseResource.java |   22 +-
 .../client/admin/internal/FunctionsImpl.java       |    9 +-
 .../client/admin/internal/PulsarAdminImpl.java     |   19 +-
 .../client/admin/internal/ScalableTopicsImpl.java  |  254 ++++
 .../pulsar/client/admin/internal/SinksImpl.java    |    4 +-
 .../pulsar/client/admin/internal/SourcesImpl.java  |    4 +-
 .../pulsar/client/admin/internal/TopicsImpl.java   |   29 +-
 .../pulsar/client/admin/internal/WebTargets.java   |    4 +-
 .../pulsar/client/admin/internal/WorkerImpl.java   |    4 +-
 .../admin/internal/http/AsyncHttpConnector.java    |   22 +-
 .../internal/http/AsyncHttpConnectorTest.java      |   56 +
 pulsar-client-admin/src/test/resources/log4j2.xml  |    2 +-
 pulsar-client-all/build.gradle.kts                 |    2 +-
 .../build.gradle.kts                               |    0
 .../apache/pulsar/client/api/v5/Checkpoint.java    |   95 ++
 .../pulsar/client/api/v5/CheckpointConsumer.java   |  123 ++
 .../client/api/v5/CheckpointConsumerBuilder.java   |  113 ++
 .../org/apache/pulsar/client/api/v5/Message.java   |  123 ++
 .../pulsar/client/api/v5/MessageBuilder.java       |   23 +-
 .../org/apache/pulsar/client/api/v5/MessageId.java |   68 +
 .../pulsar/client/api/v5/MessageMetadata.java      |  120 ++
 .../org/apache/pulsar/client/api/v5}/Messages.java |   25 +-
 .../org/apache/pulsar/client/api/v5/Producer.java  |   80 ++
 .../pulsar/client/api/v5/ProducerBuilder.java      |  170 +++
 .../apache/pulsar/client/api/v5/PulsarClient.java  |  130 ++
 .../pulsar/client/api/v5/PulsarClientBuilder.java  |  156 ++
 .../client/api/v5/PulsarClientException.java       |  161 +++
 .../apache/pulsar/client/api/v5/QueueConsumer.java |  117 ++
 .../pulsar/client/api/v5/QueueConsumerBuilder.java |  239 ++++
 .../pulsar/client/api/v5/StreamConsumer.java       |  121 ++
 .../client/api/v5/StreamConsumerBuilder.java       |  166 +++
 .../apache/pulsar/client/api/v5/Transaction.java   |   71 +
 .../api/v5/async/AsyncCheckpointConsumer.java      |   88 ++
 .../client/api/v5/async/AsyncMessageBuilder.java   |   25 +-
 .../pulsar/client/api/v5/async/AsyncProducer.java  |   57 +
 .../client/api/v5/async/AsyncQueueConsumer.java    |   88 ++
 .../client/api/v5/async/AsyncStreamConsumer.java   |   89 ++
 .../client/api/v5/async/AsyncTransaction.java      |   26 +-
 .../pulsar/client/api/v5/async/package-info.java   |   14 +-
 .../pulsar/client/api/v5/auth/Authentication.java  |   70 +
 .../client/api/v5/auth/AuthenticationData.java     |   99 ++
 .../client/api/v5/auth/AuthenticationFactory.java  |   93 ++
 .../client/api/v5/auth/CryptoFailureAction.java    |   25 +-
 .../pulsar/client/api/v5/auth/CryptoKeyReader.java |   36 +-
 .../client/api/v5/auth/EncryptionKeyInfo.java      |   23 +-
 .../pulsar/client/api/v5/auth/package-info.java    |   14 +-
 .../pulsar/client/api/v5/config/BackoffPolicy.java |   79 ++
 .../client/api/v5/config/BatchingPolicy.java       |   87 ++
 .../client/api/v5/config/ChunkingPolicy.java       |   15 +-
 .../client/api/v5/config/CompressionPolicy.java    |   26 +-
 .../client/api/v5/config/CompressionType.java      |   40 +-
 .../client/api/v5/config/ConnectionPolicy.java     |  217 +++
 .../client/api/v5/config/DeadLetterPolicy.java     |   53 +
 .../client/api/v5/config/EncryptionPolicy.java     |   72 +
 .../pulsar/client/api/v5/config/MemorySize.java    |  101 ++
 .../client/api/v5/config}/ProducerAccessMode.java  |   24 +-
 .../pulsar/client/api/v5/config/ProxyProtocol.java |    7 +-
 .../api/v5/config/SubscriptionInitialPosition.java |   19 +-
 .../pulsar/client/api/v5/config/TlsPolicy.java     |   67 +
 .../client/api/v5/config/TransactionPolicy.java    |   14 +-
 .../pulsar/client/api/v5/config/package-info.java  |   15 +-
 .../api/v5/internal/PulsarClientProvider.java      |  123 ++
 .../client/api/v5/internal}/package-info.java      |    4 +-
 .../apache/pulsar/client/api/v5/package-info.java  |   46 +
 .../apache/pulsar/client/api/v5/schema/Schema.java |  207 +++
 .../pulsar/client/api/v5/schema/SchemaInfo.java    |   37 +-
 .../pulsar/client/api/v5/schema/SchemaType.java    |   24 +-
 .../pulsar/client/api/v5/schema}/package-info.java |   10 +-
 .../org/apache/pulsar/client/api/v5/Examples.java  |  538 +++++++
 pulsar-client-api/build.gradle.kts                 |    2 +-
 .../{TopicMetadata.java => MemoryLimitConfig.java} |   20 +-
 ...TopicMetadata.java => OpenTelemetryConfig.java} |   20 +-
 .../client/api/PulsarClientSharedResources.java    |   11 +-
 .../api/PulsarClientSharedResourcesBuilder.java    |   16 +
 pulsar-client-auth-athenz/build.gradle.kts         |    3 +-
 pulsar-client-auth-sasl/build.gradle.kts           |    4 +-
 .../client/impl/auth/AuthenticationSasl.java       |   42 +-
 .../pulsar/client/impl/auth/PulsarSaslClient.java  |   18 +-
 .../impl/auth/SaslAuthenticationDataProvider.java  |    4 +-
 pulsar-client-messagecrypto-bc/build.gradle.kts    |    6 +-
 .../pulsar/client/impl/crypto/MessageCryptoBc.java |   37 +-
 pulsar-client-shaded/build.gradle.kts              |    2 +-
 pulsar-client-tools-api/build.gradle.kts           |    2 +-
 .../build.gradle.kts                               |    5 +-
 .../admin/cli/examples/MyCommandFactory.java       |    4 +-
 pulsar-client-tools-test/build.gradle.kts          |    1 +
 .../apache/pulsar/admin/cli/CmdFunctionsTest.java  |    4 +-
 .../pulsar/admin/cli/PulsarAdminToolTest.java      |   10 +-
 pulsar-client-tools/build.gradle.kts               |    3 +-
 .../apache/pulsar/admin/cli/CmdFunctionWorker.java |    4 +-
 .../org/apache/pulsar/admin/cli/CmdFunctions.java  |    4 +-
 .../pulsar/admin/cli/CmdGenerateDocument.java      |    4 +-
 .../apache/pulsar/admin/cli/CmdScalableTopics.java |  157 +++
 .../java/org/apache/pulsar/admin/cli/CmdSinks.java |    4 +-
 .../org/apache/pulsar/admin/cli/CmdSources.java    |    4 +-
 .../apache/pulsar/admin/cli/PulsarAdminTool.java   |    1 +
 .../cli/utils/CustomCommandFactoryProvider.java    |   23 +-
 .../pulsar/client/cli/AbstractCmdConsume.java      |    8 +-
 .../client/cli/CmdGenerateDocumentation.java       |    4 +-
 .../org/apache/pulsar/client/cli/CmdProduce.java   |   39 +-
 .../org/apache/pulsar/admin/cli/TestCmdSinks.java  |    4 +-
 .../org/apache/pulsar/shell/PulsarShellTest.java   |    8 +-
 .../build.gradle.kts                               |   21 +-
 .../client/impl/v5/AsyncCheckpointConsumerV5.java  |   77 +
 .../client/impl/v5/AsyncMessageBuilderV5.java      |  124 ++
 .../pulsar/client/impl/v5/AsyncProducerV5.java     |   36 +-
 .../client/impl/v5/AsyncQueueConsumerV5.java       |   72 +
 .../client/impl/v5/AsyncStreamConsumerV5.java      |   78 +
 .../client/impl/v5/AuthenticationAdapter.java      |  132 ++
 .../impl/v5/CheckpointConsumerBuilderV5.java       |  109 ++
 .../apache/pulsar/client/impl/v5/CheckpointV5.java |  158 +++
 .../pulsar/client/impl/v5/ClientSegmentLayout.java |  111 ++
 .../client/impl/v5/CryptoKeyReaderAdapter.java     |   28 +-
 .../pulsar/client/impl/v5/DagWatchClient.java      |  181 +++
 .../pulsar/client/impl/v5/MessageBuilderV5.java    |  123 ++
 .../apache/pulsar/client/impl/v5/MessageIdV5.java  |  192 +++
 .../apache/pulsar/client/impl/v5/MessageV5.java    |  119 ++
 .../apache/pulsar/client/impl/v5/MessagesV5.java   |   41 +-
 .../pulsar/client/impl/v5/ProducerBuilderV5.java   |  169 +++
 .../client/impl/v5/PulsarClientBuilderV5.java      |  144 ++
 .../client/impl/v5/PulsarClientProviderV5.java     |  178 +++
 .../pulsar/client/impl/v5/PulsarClientV5.java      |  109 ++
 .../client/impl/v5/QueueConsumerBuilderV5.java     |  234 +++
 .../client/impl/v5/ScalableCheckpointConsumer.java |  365 +++++
 .../client/impl/v5/ScalableQueueConsumer.java      |  357 +++++
 .../client/impl/v5/ScalableStreamConsumer.java     |  354 +++++
 .../client/impl/v5/ScalableTopicProducer.java      |  378 +++++
 .../pulsar/client/impl/v5/SchemaAdapter.java       |  193 +++
 .../pulsar/client/impl/v5/SegmentRouter.java       |   87 ++
 .../client/impl/v5/StreamConsumerBuilderV5.java    |  167 +++
 .../org/apache/pulsar/client/impl/v5/V5Utils.java  |   50 +
 .../pulsar/client/impl/v5}/package-info.java       |    2 +-
 ...sar.client.api.v5.internal.PulsarClientProvider |    1 +
 .../pulsar/client/impl/v5/CheckpointV5Test.java    |  140 ++
 .../client/impl/v5/ClientSegmentLayoutTest.java    |  165 +++
 .../pulsar/client/impl/v5/MessageIdV5Test.java     |  205 +++
 .../pulsar/client/impl/v5/SegmentRouterTest.java   |  167 +++
 .../apache/pulsar/client/impl/v5/V5UtilsTest.java  |   78 +
 pulsar-client/build.gradle.kts                     |    5 +-
 .../client/impl/AbstractBatchMessageContainer.java |    4 +-
 .../pulsar/client/impl/AutoClusterFailover.java    |   55 +-
 .../client/impl/BatchMessageContainerImpl.java     |   41 +-
 .../client/impl/BatchMessageKeyBasedContainer.java |   14 +-
 .../client/impl/BinaryProtoLookupService.java      |   69 +-
 .../org/apache/pulsar/client/impl/ClientCnx.java   |  413 +++---
 .../pulsar/client/impl/ConnectionHandler.java      |   60 +-
 .../apache/pulsar/client/impl/ConnectionPool.java  |   40 +-
 .../apache/pulsar/client/impl/ConsumerBase.java    |   92 +-
 .../pulsar/client/impl/ConsumerBuilderImpl.java    |    4 +-
 .../apache/pulsar/client/impl/ConsumerImpl.java    |  396 +++---
 .../pulsar/client/impl/ConsumerInterceptors.java   |   34 +-
 .../client/impl/ConsumerStatsRecorderImpl.java     |   43 +-
 .../client/impl/ControlledClusterFailover.java     |   21 +-
 ...nsChangedListener.java => DagWatchSession.java} |   26 +-
 .../pulsar/client/impl/DefaultCryptoKeyReader.java |   14 +-
 .../client/impl/GeoReplicationProducerImpl.java    |  142 +-
 .../org/apache/pulsar/client/impl/HttpClient.java  |  124 +-
 .../pulsar/client/impl/HttpLookupService.java      |   27 +-
 .../pulsar/client/impl/MemoryLimitController.java  |   33 +-
 .../impl/MultiTopicConsumerStatsRecorderImpl.java  |    6 +-
 .../client/impl/MultiTopicsConsumerImpl.java       |  208 +--
 .../pulsar/client/impl/MultiTopicsReaderImpl.java  |   24 +-
 .../pulsar/client/impl/NegativeAcksTracker.java    |    9 +-
 .../client/impl/PartitionedProducerImpl.java       |   84 +-
 .../PartitionedTopicProducerStatsRecorderImpl.java |    6 +-
 .../client/impl/PatternConsumerUpdateQueue.java    |   39 +-
 .../impl/PatternMultiTopicsConsumerImpl.java       |  112 +-
 .../PersistentAcknowledgmentsGroupingTracker.java  |   94 +-
 .../apache/pulsar/client/impl/ProducerImpl.java    |  310 ++--
 .../pulsar/client/impl/ProducerInterceptors.java   |   19 +-
 .../client/impl/ProducerStatsRecorderImpl.java     |   62 +-
 .../client/impl/PulsarChannelInitializer.java      |   10 +-
 .../pulsar/client/impl/PulsarClientImpl.java       |  226 ++-
 .../impl/PulsarClientResourcesConfigurer.java      |   23 +
 .../PulsarClientSharedResourcesBuilderImpl.java    |   48 +
 .../impl/PulsarClientSharedResourcesImpl.java      |   34 +
 .../client/impl/PulsarServiceNameResolver.java     |   25 +-
 .../org/apache/pulsar/client/impl/ReaderImpl.java  |   35 +-
 .../SameAuthParamsLookupAutoClusterFailover.java   |   61 +-
 .../apache/pulsar/client/impl/TableViewImpl.java   |   51 +-
 .../pulsar/client/impl/TopicListWatcher.java       |   34 +-
 .../client/impl/TransactionMetaStoreHandler.java   |  185 ++-
 .../impl/UnAckedMessageRedeliveryTracker.java      |   10 +-
 .../pulsar/client/impl/UnAckedMessageTracker.java  |    9 +-
 .../pulsar/client/impl/ZeroQueueConsumerImpl.java  |   18 +-
 .../impl/auth/AuthenticationDataKeyStoreTls.java   |    4 +-
 .../client/impl/auth/AuthenticationDataTls.java    |   16 +-
 .../impl/auth/AuthenticationKeyStoreTls.java       |    6 +-
 .../impl/auth/oauth2/AuthenticationOAuth2.java     |   10 +-
 .../impl/auth/oauth2/ClientCredentialsFlow.java    |    4 +-
 .../pulsar/client/impl/auth/oauth2/FlowBase.java   |   18 +-
 .../client/impl/conf/ConfigurationDataUtils.java   |    2 +-
 .../client/impl/schema/AbstractStructSchema.java   |    6 +-
 .../client/impl/schema/AutoConsumeSchema.java      |   19 +-
 .../pulsar/client/impl/schema/AvroSchema.java      |    7 +-
 .../pulsar/client/impl/schema/JSONSchema.java      |    7 +-
 .../client/impl/schema/KeyValueSchemaImpl.java     |   18 +-
 .../impl/schema/ProtobufNativeSchemaUtils.java     |   16 +-
 .../impl/schema/generic/GenericAvroReader.java     |    8 +-
 .../impl/schema/generic/GenericAvroRecord.java     |    4 +-
 .../impl/schema/generic/GenericAvroSchema.java     |    4 +-
 .../impl/schema/generic/GenericJsonReader.java     |    8 +-
 .../impl/schema/generic/GenericJsonRecord.java     |    6 +-
 .../impl/schema/generic/GenericJsonSchema.java     |    4 +-
 .../generic/GenericProtobufNativeReader.java       |    8 +-
 .../generic/GenericProtobufNativeSchema.java       |    4 +-
 .../generic/MultiVersionGenericAvroReader.java     |   17 +-
 .../generic/MultiVersionGenericJsonReader.java     |   18 +-
 .../MultiVersionGenericProtobufNativeReader.java   |   16 +-
 .../generic/MultiVersionSchemaInfoProvider.java    |   12 +-
 .../schema/reader/AbstractMultiVersionReader.java  |   18 +-
 .../client/impl/schema/reader/AvroReader.java      |    8 +-
 .../impl/schema/reader/JacksonJsonReader.java      |    8 +-
 .../client/impl/schema/reader/JsonReader.java      |    8 +-
 .../impl/schema/reader/MultiVersionAvroReader.java |   20 +-
 .../client/impl/schema/reader/ProtobufReader.java  |    8 +-
 .../tracing/OpenTelemetryConsumerInterceptor.java  |   26 +-
 .../tracing/OpenTelemetryProducerInterceptor.java  |   12 +-
 .../impl/transaction/TransactionBuilderImpl.java   |   11 +-
 .../TransactionCoordinatorClientImpl.java          |   15 +-
 .../client/impl/transaction/TransactionImpl.java   |   16 +-
 .../pulsar/client/util/ExecutorProvider.java       |   15 +-
 .../org/apache/pulsar/client/util/RetryUtil.java   |    9 +-
 .../client/util/ScheduledExecutorProvider.java     |    4 +-
 .../client/api/ConsumerConfigurationTest.java      |    8 +-
 .../impl/AcknowledgementsGroupingTrackerTest.java  |   93 +-
 .../client/impl/AutoClusterFailoverTest.java       |    4 +-
 .../impl/ClientCnxRequestTimeoutQueueTest.java     |    1 +
 .../pulsar/client/impl/ClientTestFixtures.java     |    5 +
 .../pulsar/client/impl/ConnectionTimeoutTest.java  |    6 +-
 .../pulsar/client/impl/ConsumerImplTest.java       |   32 +
 .../apache/pulsar/client/impl/HttpClientTest.java  |  150 ++
 .../pulsar/client/impl/HttpLookupServiceTest.java  |  142 ++
 .../pulsar/client/impl/PulsarClientImplTest.java   |   80 ++
 .../client/impl/schema/AutoConsumeSchemaTest.java  |    4 +-
 .../pulsar/client/impl/schema/AvroSchemaTest.java  |    4 +-
 .../pulsar/client/impl/schema/JSONSchemaTest.java  |    4 +-
 .../client/impl/schema/KeyValueSchemaInfoTest.java |    4 +-
 .../client/impl/schema/KeyValueSchemaTest.java     |    4 +-
 .../client/impl/schema/PrimitiveSchemaTest.java    |    8 +-
 .../impl/schema/ProtobufNativeSchemaTest.java      |    4 +-
 .../client/impl/schema/ProtobufSchemaTest.java     |    4 +-
 .../schema/generic/AbstractGenericSchemaTest.java  |    6 +-
 .../impl/schema/generic/GenericAvroReaderTest.java |    4 +-
 .../generic/GenericProtobufNativeReaderTest.java   |    4 +-
 .../impl/schema/generic/GenericSchemaImplTest.java |    6 +-
 .../impl/schema/generic/GenericSchemaTest.java     |    6 +-
 .../client/tutorial/SampleAsyncProducer.java       |    8 +-
 .../tutorial/SampleAsyncProducerWithSchema.java    |    8 +-
 .../client/tutorial/SampleConsumerListener.java    |    6 +-
 .../client/tutorial/SampleCryptoConsumer.java      |   10 +-
 .../client/tutorial/SampleCryptoProducer.java      |    8 +-
 pulsar-common/build.gradle.kts                     |    4 +-
 .../client/impl/schema/KeyValueSchemaInfo.java     |    4 +-
 .../common/allocator/PulsarByteBufAllocator.java   |   12 +-
 .../pulsar/common/api/raw/MessageParser.java       |   40 +-
 .../common/intercept/BrokerEntryMetadataUtils.java |   28 +-
 .../org/apache/pulsar/common/naming/TopicName.java |  169 ++-
 .../org/apache/pulsar/common/nar/FileUtils.java    |   92 +-
 .../apache/pulsar/common/nar/NarClassLoader.java   |   16 +-
 .../org/apache/pulsar/common/nar/NarUnpacker.java  |   21 +-
 .../common/policies/data/ClusterDataImpl.java      |    4 +-
 .../common/policies/data/OffloadPoliciesImpl.java  |    6 +-
 .../apache/pulsar/common/protocol/Commands.java    |   89 +-
 .../protocol/OptionalProxyProtocolDecoder.java     |    6 +-
 .../pulsar/common/protocol/PulsarDecoder.java      |   78 +-
 .../pulsar/common/protocol/PulsarHandler.java      |   38 +-
 .../common/sasl/JAASCredentialsContainer.java      |   10 +-
 .../pulsar/common/sasl/TGTRefreshThread.java       |  101 +-
 .../apache/pulsar/common/scalable/HashRange.java   |  124 ++
 .../apache/pulsar/common/scalable/SegmentInfo.java |   98 ++
 .../DomainType.java => scalable/SegmentState.java} |   15 +-
 .../pulsar/common/scalable/SegmentTopicName.java   |  106 ++
 .../pulsar/common/scalable}/package-info.java      |    6 +-
 .../semaphore/AsyncDualMemoryLimiterImpl.java      |    6 +-
 .../common/semaphore/AsyncSemaphoreImpl.java       |    6 +-
 .../common/stats/JvmDefaultGCMetricsLogger.java    |   10 +-
 .../pulsar/common/stats/JvmG1GCMetricsLogger.java  |    7 +-
 .../org/apache/pulsar/common/stats/JvmMetrics.java |   15 +-
 .../pulsar/common/tls/TlsHostnameVerifier.java     |    8 +-
 .../pulsar/common/topics/TopicsPatternFactory.java |   12 +-
 .../pulsar/common/util/ClassLoaderUtils.java       |    6 +-
 .../org/apache/pulsar/common/util/FieldParser.java |   15 +-
 .../common/util/FileModifiedTimeUpdater.java       |    7 +-
 ...GracefulExecutorServicesTerminationHandler.java |   21 +-
 .../apache/pulsar/common/util/KeyManagerProxy.java |   18 +-
 .../pulsar/common/util/ObjectMapperFactory.java    |   15 +-
 .../org/apache/pulsar/common/util/RateLimiter.java |    4 +-
 .../org/apache/pulsar/common/util/Runnables.java   |    7 +-
 .../apache/pulsar/common/util/SecurityUtility.java |   41 +-
 .../apache/pulsar/common/util/ShutdownUtil.java    |   14 +-
 ...ingleThreadNonConcurrentFixedRateScheduler.java |    6 +-
 .../pulsar/common/util/TrustManagerProxy.java      |   10 +-
 .../util/keystoretls/KeyStoreSSLContext.java       |    4 +-
 .../keystoretls/SSLContextValidatorEngine.java     |    4 +-
 .../pulsar/common/util/netty/DnsResolverUtil.java  |    9 +-
 .../pulsar/common/util/netty/EventLoopUtil.java    |    8 +-
 pulsar-common/src/main/proto/PulsarApi.proto       |  121 ++
 .../common/compression/CompressionCodecLZ4JNI.java |    6 +-
 .../compression/CompressionCodecSnappyJNI.java     |    6 +-
 .../apache/pulsar/common/naming/TopicNameTest.java |  205 +++
 .../apache/pulsar/common/nar/NarUnpackerTest.java  |   16 +-
 .../common/protocol/CommandsScalableTopicTest.java |  234 +++
 .../pulsar/common/scalable/HashRangeTest.java      |  131 ++
 .../common/scalable/SegmentTopicNameTest.java      |  135 ++
 .../stats/JvmDefaultGCMetricsLoggerTest.java       |    7 +-
 pulsar-config-validation/build.gradle.kts          |    4 +-
 .../pulsar/config/validation/ValidatorImpls.java   |   31 +-
 pulsar-dependencies/build.gradle.kts               |    4 +-
 pulsar-docs-tools/build.gradle.kts                 |    3 +-
 .../docs/tools/BaseGenerateDocumentation.java      |    4 +-
 pulsar-functions/api-java/build.gradle.kts         |    3 +-
 pulsar-functions/instance/build.gradle.kts         |    3 +-
 .../pulsar/functions/instance/ContextImpl.java     |    9 +-
 .../pulsar/functions/instance/InstanceUtils.java   |   10 +-
 .../pulsar/functions/instance/JavaInstance.java    |   12 +-
 .../functions/instance/JavaInstanceRunnable.java   |   79 +-
 .../functions/instance/ProducerBuilderFactory.java |    4 +-
 .../pulsar/functions/instance/ProducerCache.java   |   39 +-
 .../instance/state/BKStateStoreProviderImpl.java   |   63 +-
 .../instance/state/InstanceStateManager.java       |   13 +-
 .../instance/stats/ComponentStatsManager.java      |    6 +-
 .../instance/stats/FunctionStatsManager.java       |    4 +-
 .../apache/pulsar/functions/sink/PulsarSink.java   |   36 +-
 .../pulsar/functions/sink/PulsarSinkDisable.java   |    4 +-
 .../source/MultiConsumerPulsarSource.java          |   13 +-
 .../functions/source/PulsarFunctionRecord.java     |   10 +-
 .../source/SingleConsumerPulsarSource.java         |   13 +-
 .../pulsar/functions/source/TopicSchema.java       |    4 +-
 .../source/batch/BatchSourceExecutor.java          |   24 +-
 .../windowing/WaterMarkEventGenerator.java         |    8 +-
 .../windowing/WindowFunctionExecutor.java          |   13 +-
 .../pulsar/functions/windowing/WindowManager.java  |   24 +-
 .../windowing/evictors/TimeEvictionPolicy.java     |   11 +-
 .../windowing/triggers/TimeTriggerPolicy.java      |    8 +-
 .../triggers/WatermarkTimeTriggerPolicy.java       |   25 +-
 .../instance/JavaInstanceRunnableTest.java         |    6 +-
 .../functions/instance/JavaInstanceTest.java       |   24 +-
 .../pulsar/functions/sink/PulsarSinkTest.java      |    8 +-
 .../pulsar/functions/source/PulsarSourceTest.java  |   12 +-
 .../pulsar/functions/source/TopicSchemaTest.java   |    4 +-
 .../functions/windowing/WindowManagerTest.java     |    4 +-
 .../java-examples-builtin/build.gradle.kts         |    3 +
 pulsar-functions/java-examples/build.gradle.kts    |    1 +
 .../functions/api/examples/AddWindowFunction.java  |    4 +-
 .../api/examples/AvroSchemaTestFunction.java       |    6 +-
 .../api/examples/InitializableFunction.java        |    4 +-
 .../functions/api/examples/MergeTopicFunction.java |    7 +-
 .../api/examples/window/ContextWindowFunction.java |    4 +-
 pulsar-functions/localrun-shaded/build.gradle.kts  |    2 +-
 pulsar-functions/localrun/build.gradle.kts         |    3 +-
 .../org/apache/pulsar/functions/LocalRunner.java   |   15 +-
 .../localrun/src/main/resources/log4j2.xml         |    2 +-
 pulsar-functions/proto/build.gradle.kts            |    2 +-
 .../src/main/resources/java_instance_log4j2.xml    |    6 +-
 .../main/resources/kubernetes_instance_log4j2.xml  |    2 +-
 .../functions/instance/JavaInstanceDepsTest.java   |    3 +-
 pulsar-functions/runtime/build.gradle.kts          |    3 +-
 .../auth/KubernetesSecretsTokenAuthProvider.java   |   14 +-
 .../functions/runtime/JavaInstanceStarter.java     |   21 +-
 .../pulsar/functions/runtime/RuntimeSpawner.java   |   27 +-
 .../pulsar/functions/runtime/RuntimeUtils.java     |    8 +-
 .../BasicKubernetesManifestCustomizer.java         |   13 +-
 .../runtime/kubernetes/KubernetesRuntime.java      |   30 +-
 .../kubernetes/KubernetesRuntimeFactory.java       |   19 +-
 .../functions/runtime/process/ProcessRuntime.java  |   45 +-
 .../runtime/process/ProcessRuntimeFactory.java     |   19 +-
 .../functions/runtime/thread/ThreadRuntime.java    |   42 +-
 .../runtime/thread/ThreadRuntimeFactory.java       |   14 +-
 .../pulsar/functions/worker/ConnectorsManager.java |    6 +-
 .../pulsar/functions/worker/FunctionsManager.java  |    6 +-
 .../pulsar/functions/runtime/RuntimeUtilsTest.java |    6 +-
 .../runtime/thread/ThreadRuntimeFactoryTest.java   |    4 +-
 pulsar-functions/secrets/build.gradle.kts          |    2 +-
 pulsar-functions/utils/build.gradle.kts            |    3 +-
 .../org/apache/pulsar/functions/utils/Actions.java |   29 +-
 .../pulsar/functions/utils/FunctionCommon.java     |   10 +-
 .../functions/utils/FunctionConfigUtils.java       |    4 +-
 .../pulsar/functions/utils/SinkConfigUtils.java    |    8 +-
 .../pulsar/functions/utils/SourceConfigUtils.java  |    7 +-
 .../pulsar/functions/utils/ValidatorUtils.java     |    4 +-
 .../utils/functioncache/FunctionCacheEntry.java    |    8 +-
 .../functions/utils/functions/FunctionUtils.java   |   12 +-
 .../pulsar/functions/utils/io/ConnectorUtils.java  |   16 +-
 .../functions/utils/FunctionConfigUtilsTest.java   |    4 +-
 pulsar-functions/worker/build.gradle.kts           |    4 +-
 .../worker/ClusterServiceCoordinator.java          |   13 +-
 .../worker/ErrorNotifierShutdownServiceImpl.java   |    6 +-
 .../pulsar/functions/worker/FunctionActioner.java  |   84 +-
 .../functions/worker/FunctionAssignmentTailer.java |   15 +-
 .../functions/worker/FunctionMetaDataManager.java  |   49 +-
 .../worker/FunctionMetaDataTopicTailer.java        |   12 +-
 .../functions/worker/FunctionRuntimeManager.java   |   48 +-
 .../functions/worker/FunctionWorkerStarter.java    |    6 +-
 .../functions/worker/FunctionsStatsGenerator.java  |   18 +-
 .../pulsar/functions/worker/LeaderService.java     |   17 +-
 .../pulsar/functions/worker/MembershipManager.java |   27 +-
 .../functions/worker/PulsarWorkerService.java      |  119 +-
 .../pulsar/functions/worker/SchedulerManager.java  |   87 +-
 .../org/apache/pulsar/functions/worker/Worker.java |   11 +-
 .../pulsar/functions/worker/WorkerUtils.java       |   55 +-
 .../pulsar/functions/worker/rest/WorkerServer.java |   20 +-
 .../functions/worker/rest/api/ComponentImpl.java   |  393 ++++--
 .../functions/worker/rest/api/FunctionsImpl.java   |  121 +-
 .../functions/worker/rest/api/FunctionsImplV2.java |    4 +-
 .../functions/worker/rest/api/SinksImpl.java       |  118 +-
 .../functions/worker/rest/api/SourcesImpl.java     |  107 +-
 .../functions/worker/rest/api/WorkerImpl.java      |   57 +-
 .../worker/rest/api/v2/FunctionsApiV2Resource.java |    4 +-
 .../worker/rest/api/v2/WorkerApiV2Resource.java    |    4 +-
 .../rest/api/v2/WorkerStatsApiV2Resource.java      |    4 +-
 .../worker/rest/api/v3/FunctionsApiV3Resource.java |    4 +-
 .../worker/rest/api/v3/SinksApiV3Resource.java     |    4 +-
 .../worker/rest/api/v3/SourcesApiV3Resource.java   |    4 +-
 .../worker/scheduler/RoundRobinScheduler.java      |    6 +-
 .../worker/service/WorkerServiceLoader.java        |   14 +-
 .../service/WorkerServiceWithClassLoader.java      |    6 +-
 .../worker/FunctionAssignmentTailerTest.java       |    4 +-
 .../worker/FunctionMetaDataTopicTailerTest.java    |    4 +-
 .../worker/FunctionRuntimeManagerTest.java         |    9 +-
 .../functions/worker/MembershipManagerTest.java    |    6 +
 .../functions/worker/SchedulerManagerTest.java     |    8 +-
 .../worker/executor/MockExecutorController.java    |    4 +-
 .../worker/scheduler/RoundRobinSchedulerTest.java  |    4 +-
 pulsar-io/batch-data-generator/build.gradle.kts    |    1 +
 .../BatchDataGeneratorPrintSink.java               |    6 +-
 .../BatchDataGeneratorPushSource.java              |    9 +-
 .../BatchDataGeneratorSource.java                  |    4 +-
 .../batch-discovery-triggerers/build.gradle.kts    |    3 +-
 .../pulsar/io/batchdiscovery/CronTriggerer.java    |    6 +-
 .../io/batchdiscovery/ImmediateTriggerer.java      |    6 +-
 pulsar-io/common/build.gradle.kts                  |    3 +-
 .../org/apache/pulsar/io/common/IOConfigUtils.java |    7 +-
 .../apache/pulsar/io/common/IOConfigUtilsTest.java |    4 +-
 pulsar-io/core/build.gradle.kts                    |    2 +-
 pulsar-io/data-generator/build.gradle.kts          |    1 +
 .../io/datagenerator/DataGeneratorPrintSink.java   |    6 +-
 pulsar-metadata/build.gradle.kts                   |    3 +-
 .../apache/pulsar/metadata/api/MetadataStore.java  |   12 +-
 .../AbstractHierarchicalLedgerManager.java         |   10 +-
 .../pulsar/metadata/bookkeeper/BKCluster.java      |   19 +-
 .../bookkeeper/BookieServiceInfoSerde.java         |    8 +-
 .../bookkeeper/HierarchicalLedgerUtils.java        |    7 +-
 .../LegacyHierarchicalLedgerRangeIterator.java     |   11 +-
 .../bookkeeper/LongHierarchicalLedgerManager.java  |    4 +-
 .../LongHierarchicalLedgerRangeIterator.java       |   14 +-
 .../bookkeeper/PulsarLedgerAuditorManager.java     |    6 +-
 .../bookkeeper/PulsarLedgerIdGenerator.java        |   24 +-
 .../metadata/bookkeeper/PulsarLedgerManager.java   |   90 +-
 .../bookkeeper/PulsarLedgerManagerFactory.java     |   12 +-
 .../PulsarLedgerUnderreplicationManager.java       |  126 +-
 .../bookkeeper/PulsarRegistrationClient.java       |   22 +-
 .../bookkeeper/PulsarRegistrationManager.java      |   56 +-
 .../metadata/cache/impl/MetadataCacheImpl.java     |   36 +-
 .../coordination/impl/CoordinationServiceImpl.java |   13 +-
 .../coordination/impl/LeaderElectionImpl.java      |   59 +-
 .../coordination/impl/LockManagerImpl.java         |    8 +-
 .../coordination/impl/MigrationCoordinator.java    |   20 +-
 .../coordination/impl/ResourceLockImpl.java        |   39 +-
 .../metadata/impl/AbstractMetadataStore.java       |   33 +-
 .../pulsar/metadata/impl/DualMetadataStore.java    |   21 +-
 .../metadata/impl/LocalMemoryMetadataStore.java    |    6 +-
 .../metadata/impl/MetadataStoreFactoryImpl.java    |    7 +-
 .../metadata/impl/PulsarZooKeeperClient.java       |   40 +-
 .../pulsar/metadata/impl/RocksdbMetadataStore.java |   64 +-
 .../pulsar/metadata/impl/ZKMetadataStore.java      |   24 +-
 .../pulsar/metadata/impl/ZKSessionWatcher.java     |   16 +-
 .../batching/AbstractBatchedMetadataStore.java     |    4 +-
 .../metadata/impl/oxia/OxiaMetadataStore.java      |    6 +-
 .../tableview/impl/MetadataStoreTableViewImpl.java |   73 +-
 .../bookkeeper/replication/AuditorBookieTest.java  |   29 +-
 .../AuditorCheckAllLedgersTaskTest.java            |    6 +-
 .../replication/AuditorLedgerCheckerTest.java      |  130 +-
 .../AuditorPeriodicBookieCheckTest.java            |    6 +-
 .../replication/AuditorPeriodicCheckTest.java      |   27 +-
 .../AuditorPlacementPolicyCheckTaskTest.java       |    6 +-
 .../replication/AuditorReplicasCheckTaskTest.java  |    6 +-
 .../replication/AuthAutoRecoveryTest.java          |    7 +-
 .../replication/BookKeeperClusterTestCase.java     |   58 +-
 .../replication/BookieAutoRecoveryTest.java        |   83 +-
 .../replication/BookieLedgerIndexTest.java         |   18 +-
 .../replication/TestReplicationWorker.java         |   44 +-
 .../bookkeeper/replication/ZooKeeperUtil.java      |   13 +-
 .../pulsar/metadata/DualMetadataCacheTest.java     |    4 +-
 .../pulsar/metadata/DualMetadataStoreTest.java     |    8 +-
 .../apache/pulsar/metadata/MetadataBenchmark.java  |   17 +-
 .../apache/pulsar/metadata/MetadataCacheTest.java  |    6 +-
 .../pulsar/metadata/MetadataStoreBatchingTest.java |    8 +-
 .../metadata/MetadataStoreTableViewTest.java       |    8 +-
 .../apache/pulsar/metadata/MetadataStoreTest.java  |    8 +-
 .../pulsar/metadata/MigrationCoordinatorTest.java  |    6 +-
 .../metadata/OxiaMetadataStoreErrorTest.java       |    4 +-
 .../org/apache/pulsar/metadata/TestZKServer.java   |    9 +-
 .../pulsar/metadata/bookkeeper/EndToEndTest.java   |    6 +-
 .../FaultInjectableZKRegistrationManager.java      |   80 +-
 .../bookkeeper/LedgerManagerIteratorTest.java      |   20 +-
 .../LedgerUnderreplicationManagerTest.java         |   18 +-
 .../bookkeeper/PulsarLayoutManagerTest.java        |    4 +-
 .../bookkeeper/PulsarLedgerAuditorManagerTest.java |   10 +-
 .../bookkeeper/PulsarLedgerIdGeneratorTest.java    |   16 +-
 .../bookkeeper/PulsarRegistrationClientTest.java   |    4 +-
 .../bookkeeper/PulsarRegistrationManagerTest.java  |    6 +-
 .../metadata/impl/RocksdbMetadataStoreTest.java    |   12 +-
 pulsar-opentelemetry/build.gradle.kts              |    2 +-
 .../bookkeeper-storage/build.gradle.kts            |    3 +-
 .../bookkeeper/BookKeeperPackagesStorage.java      |    7 +-
 .../storage/bookkeeper/DLOutputStream.java         |    9 +-
 .../bookkeeper/test/BookKeeperClusterTestCase.java |   61 +-
 .../bookkeeper/test/MockedBookKeeperTestCase.java  |   17 +-
 .../bookkeeper/bookkeeper/test/ZooKeeperUtil.java  |   14 +-
 pulsar-package-management/core/build.gradle.kts    |    5 +-
 .../core/common/PackageMetadataUtil.java           |  116 +-
 .../core/impl/PackagesManagementImpl.java          |   46 +-
 .../core/common/PackageMetadataSerdeTest.java      |  105 +-
 .../core/impl/PackagesManagementImplTest.java      |    4 +-
 .../filesystem-storage/build.gradle.kts            |    4 +-
 .../filesystem/FileSystemPackagesStorage.java      |    6 +-
 .../filesystem/FileSystemPackagesStorageTest.java  |    6 +-
 pulsar-proxy/build.gradle.kts                      |    3 +-
 .../extensions/ProxyExtensionWithClassLoader.java  |    6 +-
 .../pulsar/proxy/extensions/ProxyExtensions.java   |   19 +-
 .../proxy/extensions/ProxyExtensionsUtils.java     |   19 +-
 .../pulsar/proxy/server/AdminProxyHandler.java     |   28 +-
 .../proxy/server/BrokerDiscoveryProvider.java      |    8 +-
 .../pulsar/proxy/server/BrokerProxyValidator.java  |    4 +-
 .../pulsar/proxy/server/DirectProxyHandler.java    |   53 +-
 .../pulsar/proxy/server/LookupProxyHandler.java    |  158 ++-
 .../pulsar/proxy/server/ParserProxyHandler.java    |   24 +-
 .../apache/pulsar/proxy/server/ProxyClientCnx.java |   16 +-
 .../pulsar/proxy/server/ProxyConnection.java       |  225 +--
 .../apache/pulsar/proxy/server/ProxyService.java   |   46 +-
 .../pulsar/proxy/server/ProxyServiceStarter.java   |   57 +-
 .../proxy/server/ServiceChannelInitializer.java    |    7 +-
 .../org/apache/pulsar/proxy/server/WebServer.java  |   21 +-
 .../org/apache/pulsar/proxy/stats/ProxyStats.java  |   17 +-
 .../proxy/util/CmdGenerateDocumentation.java       |    4 +-
 .../impl/AutoCloseUselessClientConProxyTest.java   |    4 +-
 .../extensions/SimpleProxyExtensionTestBase.java   |    6 +-
 .../proxy/server/AuthedAdminProxyHandlerTest.java  |    5 +-
 .../proxy/server/ProxyAdditionalServletTest.java   |   17 +-
 .../ProxyAuthenticatedProducerConsumerTest.java    |   17 +-
 .../proxy/server/ProxyAuthenticationTest.java      |   13 +-
 .../server/ProxyConnectionThrottlingTest.java      |    4 +-
 .../server/ProxyEnableHAProxyProtocolTest.java     |    6 +-
 .../proxy/server/ProxyForwardAuthDataTest.java     |    9 +-
 .../pulsar/proxy/server/ProxyIsAHttpProxyTest.java |   10 +-
 .../server/ProxyKeyStoreTlsTransportTest.java      |    4 +-
 .../proxy/server/ProxyKeyStoreTlsWithAuthTest.java |    4 +-
 .../server/ProxyKeyStoreTlsWithoutAuthTest.java    |    4 +-
 .../proxy/server/ProxyMultiBrokerBaseTest.java     |    4 +-
 .../proxy/server/ProxyOriginalClientIPTest.java    |   20 +-
 .../pulsar/proxy/server/ProxyParserTest.java       |   14 +-
 ...nConsumerBackPressureMultipleConsumersTest.java |    4 +-
 .../pulsar/proxy/server/ProxyRedirectTest.java     |    4 +-
 .../pulsar/proxy/server/ProxyRefreshAuthTest.java  |    8 +-
 .../proxy/server/ProxyRolesEnforcementTest.java    |    9 +-
 .../proxy/server/ProxyStuckConnectionTest.java     |   19 +-
 .../org/apache/pulsar/proxy/server/ProxyTest.java  |   14 +-
 .../server/ProxyWithAuthorizationNegTest.java      |   21 +-
 .../proxy/server/ProxyWithAuthorizationTest.java   |   53 +-
 .../server/ProxyWithExtensibleLoadManagerTest.java |    4 +-
 .../server/ProxyWithJwtAuthorizationTest.java      |   69 +-
 .../server/ProxyWithoutServiceDiscoveryTest.java   |   17 +-
 pulsar-proxy/src/test/resources/log4j2.xml         |    2 +-
 pulsar-testclient/build.gradle.kts                 |    3 +-
 .../proxy/socket/client/PerformanceClient.java     |   85 +-
 .../socket/client/SimpleTestProducerSocket.java    |    8 +-
 .../apache/pulsar/testclient/BrokerMonitor.java    |   15 +-
 .../testclient/CmdGenerateDocumentation.java       |    4 +-
 .../pulsar/testclient/LoadSimulationClient.java    |    7 +-
 .../testclient/LoadSimulationController.java       |   18 +-
 .../pulsar/testclient/ManagedLedgerWriter.java     |   91 +-
 .../apache/pulsar/testclient/PerfClientUtils.java  |   20 +-
 .../pulsar/testclient/PerformanceConsumer.java     |  159 ++-
 .../pulsar/testclient/PerformanceProducer.java     |  166 ++-
 .../pulsar/testclient/PerformanceReader.java       |   69 +-
 .../pulsar/testclient/PerformanceTransaction.java  |  221 ++-
 .../Oauth2PerformanceTransactionTest.java          |    9 +-
 .../pulsar/testclient/PerformanceProducerTest.java |    6 +-
 .../testclient/PerformanceTransactionTest.java     |    6 +-
 pulsar-transaction/common/build.gradle.kts         |    2 +-
 pulsar-transaction/coordinator/build.gradle.kts    |    4 +-
 .../coordinator/impl/MLTransactionLogImpl.java     |   28 +-
 .../impl/MLTransactionMetadataStore.java           |   35 +-
 .../impl/MLTransactionSequenceIdGenerator.java     |    6 +-
 .../coordinator/impl/TxnLogBufferedWriter.java     |   36 +-
 .../TransactionMetadataStoreProviderTest.java      |    8 +
 .../coordinator/impl/TxnLogBufferedWriterTest.java |    4 +-
 .../coordinator/test/MockedBookKeeperTestCase.java |   17 +-
 pulsar-websocket/build.gradle.kts                  |    3 +-
 .../pulsar/websocket/AbstractWebSocketHandler.java |  107 +-
 .../apache/pulsar/websocket/ConsumerHandler.java   |  187 ++-
 .../websocket/MultiTopicConsumerHandler.java       |   19 +-
 .../apache/pulsar/websocket/ProducerHandler.java   |  114 +-
 .../org/apache/pulsar/websocket/ReaderHandler.java |  135 +-
 .../apache/pulsar/websocket/WebSocketService.java  |    8 +-
 .../websocket/admin/WebSocketProxyStatsBase.java   |    9 +-
 .../websocket/admin/WebSocketWebResource.java      |   15 +-
 .../pulsar/websocket/service/ProxyServer.java      |   18 +-
 .../websocket/service/WebSocketServiceStarter.java |   10 +-
 .../apache/pulsar/websocket/stats/ProxyStats.java  |   36 +-
 settings.gradle.kts                                |   21 +-
 structured-event-log/build.gradle.kts              |   32 -
 .../apache/pulsar/structuredeventlog/Event.java    |  181 ---
 .../pulsar/structuredeventlog/EventGroup.java      |   27 -
 .../pulsar/structuredeventlog/EventResources.java  |   52 -
 .../structuredeventlog/EventResourcesImpl.java     |   85 --
 .../pulsar/structuredeventlog/Initializer.java     |   44 -
 .../structuredeventlog/StructuredEventLog.java     |   89 --
 .../structuredeventlog/log4j2/Log4j2Event.java     |  208 ---
 .../log4j2/Log4j2StructuredEventLog.java           |   46 -
 .../structuredeventlog/log4j2/package-info.java    |   19 -
 .../pulsar/structuredeventlog/package-info.java    |   19 -
 .../structuredeventlog/slf4j/Slf4jEvent.java       |  246 ----
 .../slf4j/Slf4jStructuredEventLog.java             |   46 -
 .../structuredeventlog/slf4j/package-info.java     |   19 -
 .../slf4j/StructuredEventLogTest.java              |  438 ------
 testmocks/build.gradle.kts                         |    3 +-
 .../client/PulsarBookKeeperTestClient.java         |    9 +-
 .../bookkeeper/client/PulsarMockBookKeeper.java    |   14 +-
 .../bookkeeper/client/PulsarMockLedgerHandle.java  |   38 +-
 .../bookkeeper/client/PulsarMockReadHandle.java    |    9 +-
 .../org/apache/bookkeeper/test/ServerTester.java   |   12 +-
 .../java/org/apache/zookeeper/MockZooKeeper.java   |   54 +-
 .../java-test-functions/build.gradle.kts           |    1 +
 .../functions/GenericObjectFunction.java           |   11 +-
 .../functions/RemoveAvroFieldFunction.java         |   17 +-
 .../functions/RemoveAvroFieldRecordFunction.java   |   17 +-
 .../tests/integration/io/GenericRecordSource.java  |    9 +-
 .../integration/io/TestGenericObjectSink.java      |   62 +-
 .../docker-images/java-test-image/build.gradle.kts |    4 -
 .../java-test-plugins/build.gradle.kts             |    2 +-
 .../plugins/LoggingBrokerInterceptor.java          |   11 +-
 .../latest-version-image/build.gradle.kts          |    4 -
 tests/integration/build.gradle.kts                 |    1 +
 .../pulsar/tests/integration/admin/AdminTest.java  |    6 +-
 .../token/PulsarTokenAuthenticationBaseSuite.java  |   13 +-
 .../auth/token/TokenAuthWithPublicPrivateKeys.java |   10 +-
 .../auth/token/TokenAuthWithSymmetricKeys.java     |   12 +-
 ...BookkeeperInstallWithHttpServerEnabledTest.java |   13 +-
 ...erInstallWithEntryMetadataInterceptorsTest.java |   13 +-
 .../cli/ClusterMetadataTearDownTest.java           |   12 +-
 .../tests/integration/cli/FunctionsCLITest.java    |    4 +-
 .../integration/cli/SchemaUpdateStrategyTest.java  |   13 +-
 .../integration/compaction/TestCompaction.java     |    8 +-
 .../integration/containers/ChaosContainer.java     |    4 +-
 .../integration/containers/PulsarContainer.java    |   22 +-
 .../containers/PulsarInitMetadataContainer.java    |   11 +-
 .../tests/integration/containers/S3Container.java  |    4 +-
 .../integration/containers/ScyllaDBContainer.java  |    4 +-
 .../containers/StandaloneContainer.java            |    2 +-
 .../integration/functions/PulsarFunctionsTest.java |  180 ++-
 .../functions/PulsarFunctionsTestBase.java         |   12 +-
 .../functions/PulsarMetadataStateStoreTest.java    |   12 +-
 .../integration/functions/PulsarStateTest.java     |    8 +-
 .../java/PulsarWorkerRebalanceDrainTest.java       |  132 +-
 .../functions/k8s/PulsarFunctionsK8STest.java      |    4 +-
 .../io/PulsarGenericObjectSinkTest.java            |   29 +-
 .../io/SinkWithTransformFunctionTest.java          |   18 +-
 .../integration/io/sources/BatchSourceTest.java    |   12 +-
 .../io/sources/DataGeneratorSourceTest.java        |    8 +-
 .../io/sources/GenericRecordSourceTest.java        |   14 +-
 .../io/sources/PulsarSourcePropertyTest.java       |    6 +-
 .../k8s/AbstractPulsarStandaloneK8STest.java       |   24 +-
 .../loadbalance/ExtensibleLoadManagerTest.java     |   77 +-
 .../integration/messaging/DelayMessagingTest.java  |    6 +-
 .../integration/messaging/GeoReplicationTest.java  |   28 +-
 .../tests/integration/messaging/MessagingBase.java |   16 +-
 .../messaging/NonPersistentTopicMessagingTest.java |    4 +-
 .../messaging/PersistentTopicMessagingTest.java    |    4 +-
 .../integration/messaging/ReaderMessagingTest.java |   12 +-
 .../integration/messaging/TopicMessagingBase.java  |   36 +-
 .../tests/integration/offload/TestBaseOffload.java |   10 +-
 .../integration/offload/TestFileSystemOffload.java |    4 +-
 .../integration/offload/TestOffloadDeletionFS.java |   25 +-
 .../tests/integration/offload/TestS3Offload.java   |    4 +-
 .../offload/TestUniversalConfigurations.java       |    4 +-
 .../tests/integration/oxia/OxiaSmokeTest.java      |    4 +-
 .../integration/plugins/TestProtocolHandlers.java  |   12 +-
 .../integration/profiling/PulsarProfilingTest.java |    6 +-
 .../pulsar/tests/integration/proxy/TestProxy.java  |    5 +-
 .../tests/integration/schema/JodaTimeTest.java     |    6 +-
 .../tests/integration/schema/SchemaTest.java       |   20 +-
 .../tests/integration/semantics/SemanticsTest.java |   10 +-
 .../suites/PulsarTieredStorageTestSuite.java       |    4 +-
 .../integration/topics/TestTopicDeletion.java      |   10 +-
 .../integration/topologies/PulsarCluster.java      |   64 +-
 .../topologies/PulsarClusterTestBase.java          |   13 +-
 .../integration/topologies/PulsarGeoCluster.java   |   12 +-
 .../topologies/PulsarGeoClusterTestBase.java       |    6 +-
 .../topologies/PulsarStandaloneTestBase.java       |   18 +-
 .../integration/transaction/TransactionTest.java   |    9 +-
 .../transaction/TransactionTestBase.java           |    4 +-
 .../upgrade/PulsarUpgradeDowngradeTest.java        |   40 +-
 .../integration/upgrade/PulsarZKDowngradeTest.java |   13 +-
 .../tests/integration/utils/DockerUtils.java       |   71 +-
 .../integration/websocket/WebSocketTestSuite.java  |   11 +-
 .../build.gradle.kts                               |    1 +
 .../pulsar/tests/integration/PulsarContainer.java  |    2 +-
 .../integration/SimpleProducerConsumerTest.java    |   13 +-
 .../pulsar-client-all-shade-test/build.gradle.kts  |    1 +
 .../pulsar/tests/integration/PulsarContainer.java  |    2 +-
 .../integration/SimpleProducerConsumerTest.java    |   13 +-
 tests/pulsar-client-shade-test/build.gradle.kts    |    1 +
 .../pulsar/tests/integration/PulsarContainer.java  |    2 +-
 .../integration/SimpleProducerConsumerTest.java    |   13 +-
 tiered-storage/file-system/build.gradle.kts        |    1 +
 .../impl/FileStoreBackedReadHandleImpl.java        |   21 +-
 .../impl/FileSystemManagedLedgerOffloader.java     |   29 +-
 tiered-storage/jcloud/build.gradle.kts             |    1 +
 .../impl/BlobStoreBackedInputStreamImpl.java       |   17 +-
 .../jcloud/impl/BlobStoreBackedReadHandleImpl.java |  115 +-
 .../impl/BlobStoreBackedReadHandleImplV2.java      |   31 +-
 .../impl/BlobStoreManagedLedgerOffloader.java      |  106 +-
 .../impl/BlockAwareSegmentInputStreamImpl.java     |   14 +-
 .../offload/jcloud/impl/BufferedOffloadStream.java |    4 +-
 .../offload/jcloud/impl/OffloadIndexBlockImpl.java |   12 +-
 .../jcloud/impl/OffloadIndexBlockV2Impl.java       |   10 +-
 .../jcloud/provider/JCloudBlobStoreProvider.java   |   20 +-
 .../provider/TieredStorageConfiguration.java       |    6 +-
 .../jcloud/BlobStoreBackedInputStreamTest.java     |   19 +-
 .../mledger/offload/jcloud/BlobStoreTestBase.java  |   15 +-
 ...obStoreManagedLedgerOffloaderStreamingTest.java |   12 +-
 .../impl/BlobStoreManagedLedgerOffloaderTest.java  |   12 +-
 .../impl/BlockAwareSegmentInputStreamTest.java     |    4 +-
 .../offload/jcloud/impl/DataBlockHeaderTest.java   |    4 +-
 .../offload/jcloud/impl/DataBlockHeaderV2Test.java |    4 +-
 .../offload/jcloud/impl/MockManagedLedger.java     |    4 +-
 .../offload/jcloud/impl/OffloadIndexTest.java      |   14 +-
 .../offload/jcloud/impl/OffloadIndexV2Test.java    |   28 +-
 .../offload/jcloud/impl/OffsetsCacheTest.java      |    4 +-
 .../jcloud/src/test/resources/log4j2-test.yml      |    4 +-
 1542 files changed, 46237 insertions(+), 21321 deletions(-)
 delete mode 100644 .github/workflows/ci-documentbot.yml
 create mode 100644 
build-logic/conventions/src/main/kotlin/pulsar.public-java-library-conventions.gradle.kts
 create mode 100644 
build-logic/conventions/src/main/kotlin/pulsar.publish-conventions.gradle.kts
 create mode 100644 conf/OtelLogLayout.json
 create mode 100755 gradle/setup-test-gpg.sh
 create mode 100644 
microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket/BucketDelayedDeliveryTrackerBenchmark.java
 delete mode 100644 
microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket/BucketDelayedDeliveryTrackerSimpleBenchmark.java
 create mode 100644 
microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket/MockBucketSnapshotStorage.java
 create mode 100644 
microbench/src/main/java/org/apache/pulsar/broker/naming/TopicNameGetBenchmark.java
 copy {bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader => 
microbench/src/main/java/org/apache/pulsar/broker/naming}/package-info.java 
(83%)
 create mode 100644 pip/pip-460.md
 create mode 100644 pip/pip-467.md
 create mode 100644 pip/pip-468.md
 create mode 100644 pip/pip-471.md
 create mode 100644 
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ConsumerRegistration.java
 copy 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/functions/ConsumerConfig.java
 => 
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ScalableTopicMetadata.java
 (55%)
 create mode 100644 
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ScalableTopicResources.java
 copy 
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/{package-info.java
 => SubscriptionMetadata.java} (56%)
 copy 
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/{package-info.java
 => SubscriptionType.java} (51%)
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/ScalableTopics.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Segments.java
 copy 
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/{package-info.java 
=> DelayedDeliveryContext.java} (79%)
 copy 
pulsar-client-tools/src/main/java/org/apache/pulsar/shell/ClientShell.java => 
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/DispatcherDelayedDeliveryContext.java
 (54%)
 copy 
pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/EventImpl.java
 => 
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/NoopDelayedDeliveryContext.java
 (57%)
 copy 
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/CustomCommandFactory.java
 => 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ConsumerAssignment.java
 (54%)
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ConsumerSession.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/DagWatchSession.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ScalableTopicController.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ScalableTopicLayoutResponse.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ScalableTopicService.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/SegmentLayout.java
 create mode 100644 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/SubscriptionCoordinator.java
 copy {buildtools/src/main/java/org/apache/pulsar/tests => 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable}/package-info.java
 (94%)
 create mode 100644 
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ConsumerSessionTest.java
 create mode 100644 
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/DagWatchSessionTest.java
 create mode 100644 
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ScalableTopicControllerTest.java
 create mode 100644 
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ScalableTopicServiceTest.java
 create mode 100644 
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/SegmentLayoutTest.java
 create mode 100644 
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/SubscriptionCoordinatorTest.java
 create mode 100644 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/ScalableTopics.java
 copy 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/{InactiveTopicDeleteMode.java
 => ScalableSubscriptionType.java} (53%)
 create mode 100644 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/ScalableTopicMetadata.java
 create mode 100644 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/ScalableTopicStats.java
 create mode 100644 
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableSubscriptionTypeTest.java
 create mode 100644 
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableTopicMetadataTest.java
 create mode 100644 
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableTopicStatsTest.java
 create mode 100644 
pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ScalableTopicsImpl.java
 copy {pulsar-client-api => pulsar-client-api-v5}/build.gradle.kts (100%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Checkpoint.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/CheckpointConsumer.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/CheckpointConsumerBuilder.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Message.java
 copy 
pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmGCMetricsLogger.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/MessageBuilder.java
 (53%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/MessageId.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/MessageMetadata.java
 copy {pulsar-client-api/src/main/java/org/apache/pulsar/client/api => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5}/Messages.java
 (67%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Producer.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/ProducerBuilder.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/PulsarClient.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/PulsarClientBuilder.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/PulsarClientException.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/QueueConsumer.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/QueueConsumerBuilder.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/StreamConsumer.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/StreamConsumerBuilder.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Transaction.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncCheckpointConsumer.java
 copy 
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/reporter/LoadDataReporter.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncMessageBuilder.java
 (54%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncProducer.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncQueueConsumer.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncStreamConsumer.java
 copy 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/MetadataMigration.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncTransaction.java
 (52%)
 copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java 
=> 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/package-info.java
 (65%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/Authentication.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/AuthenticationData.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/AuthenticationFactory.java
 copy 
pulsar-common/src/main/java/org/apache/pulsar/common/io/ConfigFieldDefinition.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/CryptoFailureAction.java
 (66%)
 copy 
pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer/ServiceLookupData.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/CryptoKeyReader.java
 (52%)
 copy 
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServletDefinitions.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/EncryptionKeyInfo.java
 (63%)
 copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java 
=> 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/package-info.java
 (67%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/BackoffPolicy.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/BatchingPolicy.java
 copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java 
=> 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/ChunkingPolicy.java
 (71%)
 copy 
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/MessagePayload.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/CompressionPolicy.java
 (54%)
 copy 
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/CustomCommand.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/CompressionType.java
 (50%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/ConnectionPolicy.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/DeadLetterPolicy.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/EncryptionPolicy.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/MemorySize.java
 copy {pulsar-client-api/src/main/java/org/apache/pulsar/client/api => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config}/ProducerAccessMode.java
 (59%)
 copy 
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadRanker.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/ProxyProtocol.java
 (85%)
 copy 
pulsar-broker-common/src/main/java/org/apache/pulsar/common/configuration/PropertyContext.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/SubscriptionInitialPosition.java
 (70%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/TlsPolicy.java
 copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java 
=> 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/TransactionPolicy.java
 (69%)
 copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java 
=> 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/package-info.java
 (64%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/internal/PulsarClientProvider.java
 copy {pulsar-broker-common/src/main/java/org/apache/pulsar/broker/limiter => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/internal}/package-info.java
 (91%)
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/package-info.java
 create mode 100644 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema/Schema.java
 copy 
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/CustomCommand.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema/SchemaInfo.java
 (56%)
 copy 
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/ParameterType.java
 => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema/SchemaType.java
 (72%)
 copy {microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket => 
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema}/package-info.java
 (70%)
 create mode 100644 
pulsar-client-api-v5/src/test/java/org/apache/pulsar/client/api/v5/Examples.java
 copy 
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/{TopicMetadata.java
 => MemoryLimitConfig.java} (60%)
 copy 
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/{TopicMetadata.java
 => OpenTelemetryConfig.java} (64%)
 create mode 100644 
pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdScalableTopics.java
 copy {pulsar-client-auth-athenz => pulsar-client-v5}/build.gradle.kts (72%)
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncCheckpointConsumerV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncMessageBuilderV5.java
 copy 
pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/batching/OpGet.java
 => 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncProducerV5.java
 (54%)
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncQueueConsumerV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncStreamConsumerV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AuthenticationAdapter.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CheckpointConsumerBuilderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CheckpointV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ClientSegmentLayout.java
 copy 
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/DummyCryptoKeyReaderImpl.java
 => 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CryptoKeyReaderAdapter.java
 (50%)
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/DagWatchClient.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessageBuilderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessageIdV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessageV5.java
 copy 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/RedeliveryTrackerDisabled.java
 => 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessagesV5.java 
(52%)
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ProducerBuilderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/PulsarClientBuilderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/PulsarClientProviderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/PulsarClientV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/QueueConsumerBuilderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableCheckpointConsumer.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableQueueConsumer.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableStreamConsumer.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableTopicProducer.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/SchemaAdapter.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/SegmentRouter.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/StreamConsumerBuilderV5.java
 create mode 100644 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/V5Utils.java
 copy {buildtools/src/main/java/org/apache/pulsar/tests => 
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5}/package-info.java
 (95%)
 create mode 100644 
pulsar-client-v5/src/main/resources/META-INF/services/org.apache.pulsar.client.api.v5.internal.PulsarClientProvider
 create mode 100644 
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/CheckpointV5Test.java
 create mode 100644 
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/ClientSegmentLayoutTest.java
 create mode 100644 
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/MessageIdV5Test.java
 create mode 100644 
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/SegmentRouterTest.java
 create mode 100644 
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/V5UtilsTest.java
 copy 
pulsar-client/src/main/java/org/apache/pulsar/client/impl/{PartitionsChangedListener.java
 => DagWatchSession.java} (55%)
 create mode 100644 
pulsar-client/src/test/java/org/apache/pulsar/client/impl/HttpClientTest.java
 create mode 100644 
pulsar-client/src/test/java/org/apache/pulsar/client/impl/HttpLookupServiceTest.java
 create mode 100644 
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/HashRange.java
 create mode 100644 
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/SegmentInfo.java
 copy pulsar-common/src/main/java/org/apache/pulsar/common/{tls/DomainType.java 
=> scalable/SegmentState.java} (68%)
 create mode 100644 
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/SegmentTopicName.java
 copy 
{jetty-upgrade/bookkeeper-prometheus-metrics-provider/src/main/java/org/apache/pulsar/metrics/prometheus/bookkeeper
 => 
pulsar-common/src/main/java/org/apache/pulsar/common/scalable}/package-info.java
 (83%)
 create mode 100644 
pulsar-common/src/test/java/org/apache/pulsar/common/protocol/CommandsScalableTopicTest.java
 create mode 100644 
pulsar-common/src/test/java/org/apache/pulsar/common/scalable/HashRangeTest.java
 create mode 100644 
pulsar-common/src/test/java/org/apache/pulsar/common/scalable/SegmentTopicNameTest.java
 delete mode 100644 structured-event-log/build.gradle.kts
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/Event.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/EventGroup.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/EventResources.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/EventResourcesImpl.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/Initializer.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/StructuredEventLog.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/log4j2/Log4j2Event.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/log4j2/Log4j2StructuredEventLog.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/log4j2/package-info.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/package-info.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/slf4j/Slf4jEvent.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/slf4j/Slf4jStructuredEventLog.java
 delete mode 100644 
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/slf4j/package-info.java
 delete mode 100644 
structured-event-log/src/test/java/org/apache/pulsar/structuredeventlog/slf4j/StructuredEventLogTest.java

Reply via email to