You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by ma...@apache.org on 2026/04/25 03:27:18 UTC
(pulsar) branch mattison/authorization-operation-metrics updated (f102b100fa7 -> 5a2f1fa8238)
This is an automated email from the ASF dual-hosted git repository.
mattisonchao pushed a change to branch mattison/authorization-operation-metrics
in repository https://gitbox.apache.org/repos/asf/pulsar.git
discard f102b100fa7 Add OpenTelemetry authorization metrics
discard 78657b80336 Add 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 925c1543dce Add authorization operation metrics
add 5a2f1fa8238 Add OpenTelemetry authorization 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 (f102b100fa7)
\
N -- N -- N refs/heads/mattison/authorization-operation-metrics (5a2f1fa8238)
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 | 505 +++++++
pip/pip-467.md | 451 ++++++
pip/pip-468.md | 615 ++++++++
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 | 97 +-
.../MultiRolesTokenAuthorizationProvider.java | 11 +-
.../authorization/PulsarAuthorizationProvider.java | 219 +--
.../metrics/AuthorizationMetrics.java | 1 +
.../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, 46077 insertions(+), 21197 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-466.md
create mode 100644 pip/pip-467.md
create mode 100644 pip/pip-468.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