This is an automated email from the ASF dual-hosted git repository.
mattisonchao pushed a change to branch mattison/pip-298-authorization-metrics
in repository https://gitbox.apache.org/repos/asf/pulsar.git
discard 0703dbd7af6 Move authorization metrics proposal to PIP-466
discard e98dd50fbc1 Add PIP for authorization operation metrics
add 18653513c50 [feat][pip] PIP-460: Scalable Topics (Topics v5) (#25315)
add 1a5dff6a3e7 [improve][build] Support building and testing with Java 25
(#25453)
add e1e97387da2 [improve][offload] Upgrade Hadoop from 3.4.3 to 3.5.0
(#25402)
add ea195bcae39 [improve][build] Enhance Docker build task to support
image pushing (#25459)
add 56442c27907 [fix][broker] Prevent timed-out producer creation from
racing with retry (#25460)
add 865e276510b [cleanup][ci] Remove ready-to-test label enforcement
(#25470)
add 33166b4867f [fix][test] Fix flaky
IsolatedBookieEnsemblePlacementPolicyTest.testBookieInfoChange (#25473)
add eac628f68fa [fix][test] Fix flaky
MessageChunkingSharedTest.testMultiConsumers timeout (#25475)
add 574918f729e Fix missing log4j-layout-template-json in shell
distribution (#25479)
add aaf2defe4ba [fix][test] Fix flaky BrokerRegistryIntegrationTest port
binding race (#25463)
add 3982de020ac [fix][test] Fix flaky
IsolatedBookieEnsemblePlacementPolicyTest.testMetadataStoreCases (#25474)
add 0d0d6fbff4b [fix][test] Fix flaky PulsarFunctionsJavaThreadTest by
adding retry to getFunctionStats (#25472)
add f72a5a78c8f [fix][admin] Refactor namespace migration operation to
async in rest api (#25478)
add 7ec0f098b94 [fix][test] Fix flaky
ManagedLedgerTest.testCursorPointsToDeletedLedgerAfterTrim (#25476)
add 05a703b9fc1 [fix][test] Fix flaky
FunctionRuntimeManagerTest.testExternallyManagedRuntimeUpdate (#25465)
add 8d9d4976fee [fix][test] Fix flaky ManagedLedgerTest.testNoRetention
(#25467)
add 4a10fe9befc [refactor][broker] Decouple delayed delivery trackers from
dispatcher (#25384)
add 3bbe99c5017 [fix][test] Fix flaky
MembershipManagerTest.testCheckFailuresSomeFailures (#25466)
add 39baf221bee [fix][test] Fix flaky
ConsumerBatchReceiveTest.testBatchReceiveAndRedeliveryNonPartitionedTopic
(#25468)
add 8e37e3ee63d [fix][broker] Fix backlog clearing for unloaded namespace
bundles (#25272)
add 20a380af2fa [cleanup][ci] Remove documentation label bot (#25469)
add 14a811b0d7a [feat] PIP-460: Add topic:// and segment:// domain support
to pulsar-common (#25456)
add 2394bb10a87 [improve][ci] Replace trivy-action with
sandboxed-trivy-action (#25480)
add 39386090227 [improve][ci] Run filesystem offload tests also on Java 25
since Hadoop has been upgraded to 3.5.0 (#25482)
add 0b73b3a346c [fix][broker] Change the schema incompatible log from
ERROR to WARN level (#25483)
add 3216036cca3 [fix][ci] Fix CodeQL workflow and upgrade codeql-action to
v4 (#25481)
add d052de05eb6 [improve][ci] Include XML test reports in CI artifacts and
generate HTML index (#25484)
add 60d9cf558b6 [improve] PIP-467: Adopt slog for structured logging
across Pulsar (#25462)
add 0f97cbaa181 [fix][test] Fix flaky
ReplicatorTest.testResumptionAfterBacklogRelaxed (#25493)
add 381fa13b504 [fix][test] Fix thread resource leaks in tests and
PrometheusMetricsProvider (#25487)
add 04177057217 [fix][test] Fix flaky LeaderElectionServiceTest and
PersistentDispatcherFailoverConsumerTest (#25498)
add d96da971212 [fix][test] Fix flaky ModularLoadManagerImplTest and
IsolatedBookieEnsemblePlacementPolicyTest (#25496)
add 41a3932cbbd [improve][build] Add Maven publishing conventions for ASF
release (#25457)
add 104ea57c94b [fix][test] Fix flaky ManagedLedgerTest.testNoRetention
and testInvalidateReadHandleWhenDeleteLedger (#25495)
add 7ce8a8c7a03 [fix][test] Fix flaky
ServerCnxTest.testCreateProducerTimeoutThenCreateSameNamedProducerShouldFail
(#25497)
add 0309a99ea26 [fix][test] Fix flaky InterceptorsTest and
ProduceWithMessageIdTest (#25499)
add 37696d2e847 [fix][test] Fix flaky TopicFromMessageTest by using unique
topic names (#25494)
add 0c86cf0032a [improve] Add context map to log4j2 pattern layouts
(#25491)
add 5b2778e8676 [fix] Upgrade Jetty to 12.1.6 to fix CVE-2026-1605 (#25485)
add 12bcd6bcc9e [fix][test] Fix flaky
ExtensibleLoadManagerTest.startBroker timeout (#25500)
add c86a0405a5a [cleanup][build] Remove unused structured-event-log module
(#25492)
add dfe03c4fc1b [improve][client] PIP-234: Support sharing the memory
limit controller across multiple isolated Pulsar client instances (#25477)
add a39d241b088 [improve] PIP-467: Convert managed-ledger module logging
from SLF4J to slog (#25490)
add 9855b18ce96 [improve] PIP-467: Convert pulsar-metadata module logging
from SLF4J to slog (#25505)
add 792a76ac762 [improve] PIP-467: Convert pulsar-common module logging
from SLF4J to slog (#25506)
add aec41c4fe88 [improve][broker] update broker error message to include
tenant name (#25503)
add bf459748671 [fix][test] Fix flaky ExtensibleLoadManagerImpl client
reconnection tests: PulsarClientException$AlreadyClosedException: Client
already closed (#25509)
add 089f87f329b [fix][ci] Ensure discard_max_bytes is set to 0 only for
existing block devices (#25510)
add cf7f9d9d939 [improve][all] Upgraded Jackson to 2.21 LTS and fixed a
few gradle assemble warnings (#25504)
add daa5f8db6ce [improve] PIP-467: Convert pulsar-client module logging
from SLF4J to slog (#25507)
add f688ff748fe [improve][broker] Close connection when close consumer
write fails (#25520)
add 8545ca4d8d7 [improve] Add PULSAR_LOG_FORMAT env var for easy JSON
logging (#25515)
add 840fc34473b [improve] PIP-467: Convert pulsar-functions module logging
from SLF4J to slog (#25508)
add 85937d8ea8e [fix][broker] Unthrottle producers immediately when
publish rate limiting is disabled (#25502)
add a8e629635b7 [fix] Fix typo 'seperated' in broker comments (#25524)
add 352147bff42 [fix][broker] Revert "[improve][broker] Enhance advertised
address resolution with fallback to localhost (#25238)" (#25523)
add 4c96c730aa2 [fix][sec] Upgrade Jetty to address CVE-2026-2332 (#25527)
add 40edde7dcd4 [improve] PIP-467: Convert remaining modules logging from
SLF4J to slog (#25511)
add dfb06f183c3 [fix][sec] Upgrade log4j to 2.25.4 to address
CVE-2026-34477, CVE-2026-34478, CVE-2026-34480, CVE-2026-34481 (#25521)
add e05c2129aad [fix][sec] Upgrade Jetty to address CVE-2026-5795 (#25532)
add 4998cd9e4f6 [improve] PIP-467: Convert pulsar-broker module logging
from SLF4J to slog (#25535)
add d1352520c87 [improve][test] PIP-467: Convert pulsar-broker test files
logging from SLF4J to slog (#25536)
add ae2b8c76cec [improve] Emit flat OpenTelemetry JSON logs instead of ECS
(#25542)
add 97329ba8aea [improve][misc] Add deepwiki badge in README to enable
automated index update (#25544)
add af2eba9eebc [improve] PIP-467: Remove now-dead slf4j.api dependency
from modules converted to slog (#25541)
add 91c165c7ebb [improve] PIP-467: Convert Jetty request logs to
structured slog events (#25543)
add 744d2b8ec2d [improve][broker] Log only non-default config values on
broker startup (#25545)
add a4c291f6aa3 [fix][broker] Avoid Project access in broker test setup
(#25529)
add a1613bc2e5f [fix][sec] Upgrade to async-http-client 2.14.5 to address
CVE-2026-40490 (#25546)
add 90332238719 [fix][broker]Namespaces can be created with may empty
replication_clusters policy (#25551)
add 9e4e7e1277a [feat] [pip] PIP-466: New Java Client API (V5) with
Scalable Topic Support (#25455)
add 6ce15e13cc3 [feat] PIP-466: Add V5 client API for scalable topics
(#25489)
add 8c4e83d2374 [improve][common] Optimize TopicName.get() to reduce lock
contention on cache lookup (#25367)
add 3130a93b1ab [improve][broker] Improve the performance of TopicName
constructor (#24463)
add d553cec5485 [improve][ml] Warn and emit metric when cursor ack state
exceeds persist limits (#25548)
add c6c9032bd6f [feat] PIP-468: Scalable Topic Controller (#25516)
add 93d13e2fdb1 [fix][doc] Correct loadConf example key in
PulsarAdminBuilder (#25556)
add 423a74698e1 [fix][broker] Lower log level of DrainingHashesTracker
not-found entry to DEBUG (#25558)
add 293eafc08c9 [fix][test] Recreate EventLoop in PublishRateLimiterTest
setup (#25560)
add f26e3bac7d4 [fix][test] Relax BrokerRegistryIntegrationTest
broker-close threshold (#25562)
add 9cf1cc9b5bf [fix][broker] pulsar admin stats internal with metadata
command (#25557)
add 43c7ad86ebf [fix][test] Extend
SameAuthParamsLookupAutoClusterFailoverTest phase timeouts (#25563)
add 77999fc8a94 [fix][test] Fix flaky
OffloadPrefixTest.testPositionOnEdgeOfLedger race with ledger rollover (#25561)
add 1071cc94b62 [fix][test] Flaky
SameAuthParamsLookupAutoClusterFailoverTest (#25566)
add 4addfdab1a2 [fix] Fix flaky
BrokerDispatchRateLimiterTest.testBrokerDispatchThrottledMetrics (#25567)
add db94b9534f0 [improve][broker] Use full bundle name for namespace
bundle destination affinity in ModularLoadManagerImpl (#25518)
add a14f6ccf314 [fix][sec] Upgrade BouncyCastle to 1.84 (CVE-2026-5588,
CVE-2026-0636) (#25569)
add 81a77530b83 [fix][broker] Replace Java serialization with JSON in
package metadata (#25570)
add 01fedb84a45 [fix][broker] Clean up orphan ledger on concurrent initial
schema creation in BookkeeperSchemaStorage (#25514)
add 2476b1b4ad4 [improve][fn] Log function package download completion and
process PID (#25568)
add fae3df958f7 [improve][client] Best-effort retry for
individual/batch-index acks on send failure when ackReceiptEnabled=false
(#25525)
add 527efb6e47c [feat] PIP-468: Add ScalableTopicController and broker
infrastructure (#25559)
add 597eb0daa2c [feat] PIP-468: Add scalable topic protocol commands and
connection handling (#25564)
add 3c5c86639e3 [feat] PIP-468: Add scalable topics and segments admin
APIs with CLI (#25565)
add f6598d8408f [fix][client] Stabilize scaleReceiverQueueHint against
concurrent enqueue/take (#25578)
add f459a1a111b [feat] PIP-468: Implement V5 client with scalable topic
producer and consumer types (#25573)
add c160138818f [improve][pip] PIP-471: Authorization operation metrics
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (0703dbd7af6)
\
N -- N -- N refs/heads/mattison/pip-298-authorization-metrics
(c160138818f)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.github/PULL_REQUEST_TEMPLATE.md | 28 +-
.github/actions/copy-test-reports/action.yml | 3 +-
.github/actions/setup-gradle/action.yml | 11 +
.github/actions/tune-runner-vm/action.yml | 10 +-
.github/workflows/ci-documentbot.yml | 46 -
.github/workflows/ci-go-functions.yaml | 8 -
.github/workflows/codeql.yaml | 10 +-
.github/workflows/pulsar-ci-flaky.yaml | 24 +-
.github/workflows/pulsar-ci.yaml | 90 +-
README.md | 6 +-
bin/bookkeeper | 7 +-
bin/pulsar | 10 +-
bin/pulsar-admin-common.cmd | 8 +-
bin/pulsar-admin-common.sh | 7 +-
bin/pulsar-perf | 7 +-
bouncy-castle/bc/build.gradle.kts | 6 +-
.../apache/pulsar/bcloader/BouncyCastleLoader.java | 6 +-
bouncy-castle/bcfips-include-test/build.gradle.kts | 1 +
.../pulsar/client/TlsProducerConsumerTest.java | 27 +-
bouncy-castle/bcfips/build.gradle.kts | 4 +-
.../pulsar/bcloader/BouncyCastleFipsLoader.java | 6 +-
.../main/kotlin/pulsar.java-conventions.gradle.kts | 18 +-
.../main/kotlin/pulsar.nar-conventions.gradle.kts | 27 +-
...lsar.public-java-library-conventions.gradle.kts | 69 +
.../kotlin/pulsar.publish-conventions.gradle.kts | 181 +++
build.gradle.kts | 89 +-
buildtools/build.gradle.kts | 1 +
.../tests/BetweenTestClassesListenerAdapter.java | 5 +-
.../pulsar/tests/ExtendedNettyLeakDetector.java | 11 +-
.../org/apache/pulsar/tests/FailFastNotifier.java | 10 +-
.../tests/FastThreadLocalCleanupListener.java | 13 +-
.../pulsar/tests/FastThreadLocalStateCleaner.java | 13 +-
.../pulsar/tests/MockitoCleanupListener.java | 7 +-
.../tests/MockitoThreadLocalStateCleaner.java | 42 +-
.../pulsar/tests/SingletonCleanerListener.java | 17 +-
.../org/apache/pulsar/tests/TestRetrySupport.java | 26 +-
.../pulsar/tests/ThreadLeakDetectorListener.java | 21 +-
.../pulsar/tests/ThreadLocalStateCleaner.java | 7 +-
buildtools/src/main/resources/log4j2.xml | 2 +-
conf/OtelLogLayout.json | 63 +
conf/broker.conf | 4 +
conf/functions_log4j2.xml | 6 +-
conf/log4j2.yaml | 47 +-
conf/pulsar_env.sh | 3 +
distribution/server/src/assemble/LICENSE.bin.txt | 127 +-
distribution/shell/build.gradle.kts | 1 +
distribution/shell/src/assemble/LICENSE.bin.txt | 71 +-
docker/pulsar/build.gradle.kts | 11 +-
gradle.properties | 6 +
gradle/libs.versions.toml | 36 +-
gradle/setup-test-gpg.sh | 64 +
jclouds-shaded/build.gradle.kts | 1 +
.../apache/pulsar/jclouds/ShadedJCloudsUtils.java | 4 +-
.../build.gradle.kts | 3 +-
.../bookkeeper/PrometheusMetricsProvider.java | 22 +-
.../ThreadScopedDataSketchesStatsLogger.java | 26 +-
.../zookeeper-prometheus-metrics/build.gradle.kts | 3 +-
.../zookeeper/PrometheusMetricsProvider.java | 50 +-
.../zookeeper-with-patched-admin/build.gradle.kts | 3 +-
.../zookeeper/server/admin/AdminServerFactory.java | 19 +-
.../apache/zookeeper/server/admin/Commands.java | 49 +-
.../zookeeper/server/admin/JettyAdminServer.java | 19 +-
.../zookeeper/server/admin/JsonOutputter.java | 14 +-
.../zookeeper/server/admin/StreamOutputter.java | 8 +-
lombok.config | 2 +-
managed-ledger/build.gradle.kts | 4 +-
.../mledger/ManagedLedgerReplayTask.java | 9 +-
.../impl/ActiveManagedCursorContainerImpl.java | 4 +-
.../apache/bookkeeper/mledger/impl/EntryImpl.java | 11 +-
.../mledger/impl/LedgerMetadataUtils.java | 30 +-
.../bookkeeper/mledger/impl/ManagedCursorImpl.java | 727 +++++-----
.../mledger/impl/ManagedLedgerFactoryImpl.java | 275 ++--
.../bookkeeper/mledger/impl/ManagedLedgerImpl.java | 756 +++++-----
.../mledger/impl/ManagedLedgerOfflineBacklog.java | 4 -
.../bookkeeper/mledger/impl/MetaStoreImpl.java | 75 +-
.../mledger/impl/NonDurableCursorImpl.java | 15 +-
.../apache/bookkeeper/mledger/impl/OpAddEntry.java | 59 +-
.../bookkeeper/mledger/impl/OpFindNewest.java | 23 +-
.../bookkeeper/mledger/impl/OpReadEntry.java | 54 +-
.../org/apache/bookkeeper/mledger/impl/OpScan.java | 22 +-
.../impl/OpenTelemetryManagedCursorStats.java | 35 +
.../mledger/impl/ReadOnlyCursorImpl.java | 9 +-
.../mledger/impl/ReadOnlyManagedLedgerImpl.java | 11 +-
.../mledger/impl/ShadowManagedLedgerImpl.java | 111 +-
.../mledger/impl/cache/InflightReadsLimiter.java | 89 +-
.../mledger/impl/cache/PendingReadsManager.java | 4 +-
.../bookkeeper/mledger/impl/cache/RangeCache.java | 20 +-
.../mledger/impl/cache/RangeCacheEntryWrapper.java | 4 +-
.../mledger/impl/cache/RangeEntryCacheImpl.java | 93 +-
.../RangeEntryCacheManagerEvictionHandler.java | 15 +-
.../impl/cache/RangeEntryCacheManagerImpl.java | 34 +-
.../bookkeeper/mledger/offload/OffloadUtils.java | 20 +-
.../bookkeeper/mledger/offload/OffloaderUtils.java | 12 +-
.../bookkeeper/mledger/offload/Offloaders.java | 14 +-
.../mledger/offload/OffloadersCache.java | 6 +-
.../bookkeeper/mledger/util/CallbackMutex.java | 42 +-
.../bookkeeper/mledger/SimpleBookKeeperTest.java | 11 +-
.../impl/InflightReadsLimiterIntegrationTest.java | 28 +-
.../mledger/impl/ManagedCursorConcurrencyTest.java | 12 +-
.../impl/ManagedCursorInfoMetadataTest.java | 10 +-
.../bookkeeper/mledger/impl/ManagedCursorTest.java | 196 ++-
.../mledger/impl/ManagedLedgerBkTest.java | 10 +-
.../mledger/impl/ManagedLedgerErrorsTest.java | 7 +-
.../impl/ManagedLedgerFactoryShutdownTest.java | 14 +-
.../impl/ManagedLedgerInfoMetadataTest.java | 10 +-
.../bookkeeper/mledger/impl/ManagedLedgerTest.java | 204 +--
.../mledger/impl/NonDurableCursorTest.java | 22 +-
.../impl/OffloadEvictUnusedLedgersTest.java | 5 +-
.../mledger/impl/OffloadLedgerDeleteTest.java | 5 +-
.../bookkeeper/mledger/impl/OffloadPrefixTest.java | 12 +-
.../mledger/impl/ShadowManagedLedgerImplTest.java | 23 +-
.../impl/cache/InflightReadsLimiterTest.java | 4 +-
.../impl/cache/PendingReadsManagerTest.java | 17 +-
.../mledger/util/ManagedLedgerImplUtilsTest.java | 4 +-
.../mledger/util/ManagedLedgerTestUtil.java | 8 +-
.../bookkeeper/test/BookKeeperClusterTestCase.java | 53 +-
.../bookkeeper/test/MockedBookKeeperTestCase.java | 18 +-
.../org/apache/bookkeeper/test/ZooKeeperUtil.java | 13 +-
microbench/README.md | 41 +-
microbench/build.gradle.kts | 1 -
.../bookkeeper/mledger/impl/MockManagedCursor.java | 5 +-
.../BucketDelayedDeliveryTrackerBenchmark.java | 321 +++++
...ucketDelayedDeliveryTrackerSimpleBenchmark.java | 407 ------
.../delayed/bucket/MockBucketSnapshotStorage.java | 106 ++
.../broker/naming/TopicNameGetBenchmark.java | 88 ++
.../apache/pulsar/broker/naming}/package-info.java | 4 +-
microbench/src/main/resources/log4j2.xml | 2 +-
pip/pip-460.md | 426 ++++++
pip/pip-466.md | 545 +++++--
pip/pip-467.md | 451 ++++++
pip/pip-468.md | 615 ++++++++
pip/pip-471.md | 249 ++++
pulsar-bom/build.gradle.kts | 5 +-
pulsar-broker-auth-athenz/build.gradle.kts | 4 +-
.../AuthenticationProviderAthenz.java | 20 +-
.../AuthenticationProviderAthenzTest.java | 8 +
pulsar-broker-auth-oidc/build.gradle.kts | 3 +-
.../oidc/AuthenticationProviderOpenID.java | 13 +-
.../broker/authentication/oidc/ConfigUtils.java | 41 +-
pulsar-broker-auth-sasl/build.gradle.kts | 4 +-
.../authentication/AuthenticationProviderSasl.java | 74 +-
.../broker/authentication/PulsarSaslServer.java | 34 +-
.../SaslAuthenticationDataSource.java | 4 +-
.../authentication/SaslAuthenticationState.java | 4 +-
.../broker/authentication/SaslRoleToken.java | 4 +-
.../broker/authentication/SaslRoleTokenSigner.java | 4 +-
.../pulsar/broker/authentication/MiniKdc.java | 6 +-
.../ProxySaslAuthenticationTest.java | 20 +-
.../authentication/SaslAuthenticateTest.java | 20 +-
.../authentication/SaslServerTokenSignerTest.java | 4 +-
pulsar-broker-common/build.gradle.kts | 3 +-
.../rackawareness/BookieRackAffinityMapping.java | 39 +-
.../IsolatedBookieEnsemblePlacementPolicy.java | 28 +-
.../apache/pulsar/broker/ServiceConfiguration.java | 18 +
.../pulsar/broker/ServiceConfigurationUtils.java | 8 +-
.../authentication/AuthenticationDataCommand.java | 6 +-
.../AuthenticationDataSubscription.java | 4 +-
.../authentication/AuthenticationProviderList.java | 44 +-
.../authentication/AuthenticationService.java | 42 +-
.../broker/authorization/AuthorizationService.java | 93 +-
.../MultiRolesTokenAuthorizationProvider.java | 11 +-
.../authorization/PulsarAuthorizationProvider.java | 219 +--
.../broker/limiter/ConnectionController.java | 21 +-
.../pulsar/broker/resources/BaseResources.java | 12 +-
.../broker/resources/ConsumerRegistration.java | 38 +
.../broker/resources/MetadataStoreCacheLoader.java | 12 +-
.../broker/resources/NamespaceResources.java | 31 +-
.../pulsar/broker/resources/PulsarResources.java | 4 +
.../broker/resources/ScalableTopicMetadata.java | 41 +-
.../broker/resources/ScalableTopicResources.java | 222 +++
...package-info.java => SubscriptionMetadata.java} | 15 +-
.../{package-info.java => SubscriptionType.java} | 22 +-
.../pulsar/broker/resources/TenantResources.java | 4 +-
.../pulsar/broker/resources/TopicResources.java | 16 +-
.../stats/prometheus/PrometheusMetricsServlet.java | 27 +-
.../topiclistlimit/TopicListMemoryLimiter.java | 12 +-
.../pulsar/broker/web/AuthenticationFilter.java | 15 +-
.../broker/web/DisableDebugHttpMethodFilter.java | 8 +-
.../web/DynamicSkipUnknownPropertyHandler.java | 8 +-
.../pulsar/broker/web/JettyRequestLogFactory.java | 189 ++-
.../web/plugin/servlet/AdditionalServletUtils.java | 21 +-
.../servlet/AdditionalServletWithClassLoader.java | 6 +-
.../web/plugin/servlet/AdditionalServlets.java | 8 +-
.../configuration/PulsarConfigurationLoader.java | 49 +-
.../pulsar/common/configuration/VipStatus.java | 18 +-
.../pulsar/jetty/tls/JettySslContextFactory.java | 4 +-
.../IsolatedBookieEnsemblePlacementPolicyTest.java | 69 +-
.../PulsarConfigurationLoaderTest.java | 48 +
.../pulsar/common/configuration/VipStatusTest.java | 4 +-
.../jetty/tls/JettySslContextFactoryTest.java | 4 +-
.../JettySslContextFactoryWithKeyStoreTest.java | 6 +-
pulsar-broker/build.gradle.kts | 56 +-
.../org/apache/pulsar/PulsarBrokerStarter.java | 30 +-
.../apache/pulsar/PulsarClusterMetadataSetup.java | 29 +-
.../pulsar/PulsarClusterMetadataTeardown.java | 30 +-
.../java/org/apache/pulsar/PulsarStandalone.java | 19 +-
.../org/apache/pulsar/PulsarStandaloneStarter.java | 19 +-
.../pulsar/broker/BookKeeperClientFactoryImpl.java | 9 +-
.../pulsar/broker/ManagedLedgerClientFactory.java | 27 +-
.../org/apache/pulsar/broker/PulsarService.java | 230 +--
.../broker/TransactionMetadataStoreService.java | 71 +-
.../apache/pulsar/broker/admin/AdminResource.java | 194 ++-
.../pulsar/broker/admin/impl/BrokerStatsBase.java | 20 +-
.../pulsar/broker/admin/impl/BrokersBase.java | 123 +-
.../pulsar/broker/admin/impl/ClustersBase.java | 275 ++--
.../broker/admin/impl/MetadataMigrationBase.java | 12 +-
.../pulsar/broker/admin/impl/NamespacesBase.java | 1101 +++++++++------
.../admin/impl/OffloaderObjectsScannerUtils.java | 29 +-
.../pulsar/broker/admin/impl/PackagesBase.java | 4 +-
.../broker/admin/impl/PersistentTopicsBase.java | 1179 +++++++++++-----
.../broker/admin/impl/ResourceGroupsBase.java | 58 +-
.../broker/admin/impl/ResourceQuotasBase.java | 2 -
.../broker/admin/impl/SchemasResourceBase.java | 5 -
.../pulsar/broker/admin/impl/TenantsBase.java | 87 +-
.../pulsar/broker/admin/impl/TransactionsBase.java | 24 +-
.../org/apache/pulsar/broker/admin/v2/Bookies.java | 6 +-
.../broker/admin/v2/ExtNonPersistentTopics.java | 9 +-
.../broker/admin/v2/ExtPersistentTopics.java | 9 +-
.../apache/pulsar/broker/admin/v2/Namespaces.java | 691 ++++++---
.../broker/admin/v2/NonPersistentTopics.java | 89 +-
.../pulsar/broker/admin/v2/PersistentTopics.java | 568 ++++----
.../pulsar/broker/admin/v2/ResourceQuotas.java | 32 +-
.../pulsar/broker/admin/v2/ScalableTopics.java | 595 ++++++++
.../pulsar/broker/admin/v2/SchemasResource.java | 44 +-
.../apache/pulsar/broker/admin/v2/Segments.java | 208 +++
.../org/apache/pulsar/broker/admin/v2/Worker.java | 2 -
.../apache/pulsar/broker/admin/v2/WorkerStats.java | 2 -
.../pulsar/broker/admin/v3/Transactions.java | 50 +-
.../delayed/AbstractDelayedDeliveryTracker.java | 49 +-
.../BucketDelayedDeliveryTrackerFactory.java | 14 +-
...ckage-info.java => DelayedDeliveryContext.java} | 13 +
.../delayed/DispatcherDelayedDeliveryContext.java | 36 +-
.../delayed/InMemoryDelayedDeliveryTracker.java | 50 +-
.../InMemoryDelayedDeliveryTrackerFactory.java | 13 +-
.../broker/delayed/NoopDelayedDeliveryContext.java | 46 +-
.../bucket/BookkeeperBucketSnapshotStorage.java | 6 +-
.../pulsar/broker/delayed/bucket/Bucket.java | 20 +-
.../bucket/BucketDelayedDeliveryTracker.java | 143 +-
.../broker/delayed/bucket/ImmutableBucket.java | 57 +-
.../broker/delayed/bucket/MutableBucket.java | 16 +-
.../broker/intercept/BrokerInterceptorUtils.java | 16 +-
.../BrokerInterceptorWithClassLoader.java | 7 +-
.../broker/intercept/BrokerInterceptors.java | 12 +-
.../intercept/ManagedLedgerInterceptorImpl.java | 5 +-
.../pulsar/broker/loadbalance/LinuxInfoUtils.java | 41 +-
.../pulsar/broker/loadbalance/LoadManager.java | 7 +-
.../broker/loadbalance/LoadReportUpdaterTask.java | 7 +-
.../loadbalance/LoadResourceQuotaUpdaterTask.java | 7 +-
.../broker/loadbalance/LoadSheddingTask.java | 7 +-
.../pulsar/broker/loadbalance/NoopLoadManager.java | 8 +-
.../loadbalance/extensions/BrokerRegistryImpl.java | 28 +-
.../extensions/ExtensibleLoadManagerImpl.java | 111 +-
.../channel/ServiceUnitStateChannelImpl.java | 314 +++--
...ServiceUnitStateMetadataStoreTableViewImpl.java | 8 +-
.../channel/ServiceUnitStateTableViewBase.java | 2 -
.../channel/ServiceUnitStateTableViewImpl.java | 14 +-
.../channel/ServiceUnitStateTableViewSyncer.java | 26 +-
.../extensions/channel/StateChangeListeners.java | 14 +-
.../filter/BrokerIsolationPoliciesFilter.java | 4 +-
.../extensions/filter/BrokerVersionFilter.java | 31 +-
.../extensions/manager/RedirectManager.java | 10 +-
.../extensions/manager/SplitManager.java | 23 +-
.../extensions/manager/UnloadManager.java | 36 +-
.../loadbalance/extensions/models/TopKBundles.java | 6 +-
.../policies/AntiAffinityGroupPolicyHelper.java | 7 +-
.../policies/IsolationPoliciesHelper.java | 4 +-
.../reporter/BrokerLoadDataReporter.java | 16 +-
.../reporter/TopBundleLoadDataReporter.java | 10 +-
.../extensions/scheduler/SplitScheduler.java | 15 +-
.../extensions/scheduler/TransferShedder.java | 50 +-
.../extensions/scheduler/UnloadScheduler.java | 37 +-
.../store/TableViewLoadDataStoreImpl.java | 12 +-
.../DefaultNamespaceBundleSplitStrategyImpl.java | 14 +-
.../strategy/LeastResourceUsageWithWeight.java | 39 +-
.../pulsar/broker/loadbalance/impl/AvgShedder.java | 89 +-
.../loadbalance/impl/BrokerVersionFilter.java | 35 +-
.../loadbalance/impl/BundleSplitterTask.java | 37 +-
.../loadbalance/impl/LeastLongTermMessageRate.java | 31 +-
.../impl/LeastResourceUsageWithWeight.java | 69 +-
.../loadbalance/impl/LinuxBrokerHostUsageImpl.java | 7 +-
.../broker/loadbalance/impl/LoadManagerShared.java | 139 +-
.../loadbalance/impl/ModularLoadManagerImpl.java | 120 +-
.../impl/ModularLoadManagerWrapper.java | 3 +-
.../broker/loadbalance/impl/OverloadShedder.java | 25 +-
.../loadbalance/impl/PulsarLoadReportImpl.java | 8 +-
.../impl/ResourceAvailabilityRanker.java | 14 +-
.../loadbalance/impl/SimpleLoadManagerImpl.java | 149 +-
.../impl/SimpleResourceAllocationPolicies.java | 13 +-
.../broker/loadbalance/impl/ThresholdShedder.java | 57 +-
.../loadbalance/impl/UniformLoadShedder.java | 33 +-
.../loadbalance/impl/WRRPlacementStrategy.java | 12 +-
.../pulsar/broker/lookup/TopicLookupBase.java | 104 +-
.../pulsar/broker/lookup/v2/TopicLookup.java | 11 +-
.../pulsar/broker/namespace/NamespaceService.java | 307 ++--
.../pulsar/broker/namespace/OwnedBundle.java | 23 +-
.../pulsar/broker/namespace/OwnershipCache.java | 32 +-
.../broker/protocol/ProtocolHandlerUtils.java | 16 +-
.../protocol/ProtocolHandlerWithClassLoader.java | 6 +-
.../pulsar/broker/protocol/ProtocolHandlers.java | 21 +-
.../pulsar/broker/resourcegroup/ResourceGroup.java | 102 +-
.../resourcegroup/ResourceGroupConfigListener.java | 34 +-
.../ResourceGroupNamespaceConfigListener.java | 37 +-
.../broker/resourcegroup/ResourceGroupService.java | 135 +-
.../resourcegroup/ResourceQuotaCalculatorImpl.java | 41 +-
.../ResourceUsageTopicTransportManager.java | 36 +-
.../broker/rest/RestMessagePublishContext.java | 18 +-
.../java/org/apache/pulsar/broker/rest/Topics.java | 24 +-
.../org/apache/pulsar/broker/rest/TopicsBase.java | 200 +--
.../broker/service/AbstractBaseDispatcher.java | 23 +-
.../AbstractDispatcherSingleActiveConsumer.java | 38 +-
.../pulsar/broker/service/AbstractReplicator.java | 125 +-
.../pulsar/broker/service/AbstractTopic.java | 95 +-
.../pulsar/broker/service/BacklogQuotaManager.java | 116 +-
.../pulsar/broker/service/BrokerService.java | 509 ++++---
...ConsistentHashingStickyKeyConsumerSelector.java | 26 +-
.../org/apache/pulsar/broker/service/Consumer.java | 165 +--
.../broker/service/DistributedIdGenerator.java | 11 +-
.../broker/service/DrainingHashesTracker.java | 78 +-
.../pulsar/broker/service/HealthChecker.java | 47 +-
.../org/apache/pulsar/broker/service/Producer.java | 90 +-
.../broker/service/PublishRateLimiterImpl.java | 26 +-
.../broker/service/PulsarChannelInitializer.java | 6 +-
.../pulsar/broker/service/PulsarCommandSender.java | 18 +
.../broker/service/PulsarCommandSenderImpl.java | 52 +-
.../service/PulsarMetadataEventSynchronizer.java | 124 +-
.../apache/pulsar/broker/service/PulsarStats.java | 33 +-
.../apache/pulsar/broker/service/ServerCnx.java | 1491 +++++++++++++-------
.../broker/service/ServerCnxThrottleTracker.java | 12 +-
.../broker/service/SharedConsumerAssignor.java | 11 +-
.../SystemTopicBasedTopicPoliciesService.java | 122 +-
.../SystemTopicTxnBufferSnapshotService.java | 28 +-
.../broker/service/TopicEventsDispatcher.java | 13 +-
.../pulsar/broker/service/TopicListService.java | 147 +-
.../broker/service/TopicPoliciesService.java | 4 -
.../NonPersistentDispatcherMultipleConsumers.java | 37 +-
...onPersistentDispatcherSingleActiveConsumer.java | 4 +-
.../nonpersistent/NonPersistentReplicator.java | 47 +-
...istentStickyKeyDispatcherMultipleConsumers.java | 11 +-
.../nonpersistent/NonPersistentSubscription.java | 68 +-
.../service/nonpersistent/NonPersistentTopic.java | 149 +-
.../service/persistent/DispatchRateLimiter.java | 18 +-
.../DispatchRateLimiterAsyncTokenBucketImpl.java | 8 +-
.../persistent/DispatchRateLimiterClassicImpl.java | 8 +-
.../persistent/GeoPersistentReplicator.java | 71 +-
.../service/persistent/MessageDeduplication.java | 153 +-
.../PersistentDispatcherMultipleConsumers.java | 262 ++--
...rsistentDispatcherMultipleConsumersClassic.java | 258 ++--
.../PersistentDispatcherSingleActiveConsumer.java | 196 ++-
.../persistent/PersistentMessageExpiryMonitor.java | 87 +-
.../persistent/PersistentMessageFinder.java | 49 +-
.../service/persistent/PersistentReplicator.java | 223 ++-
...istentStickyKeyDispatcherMultipleConsumers.java | 91 +-
...tickyKeyDispatcherMultipleConsumersClassic.java | 42 +-
.../service/persistent/PersistentSubscription.java | 282 ++--
.../broker/service/persistent/PersistentTopic.java | 777 ++++++----
.../persistent/PulsarCompactorSubscription.java | 30 +-
.../ReplicatedSubscriptionSnapshotCache.java | 42 +-
.../ReplicatedSubscriptionsController.java | 103 +-
.../ReplicatedSubscriptionsSnapshotBuilder.java | 31 +-
.../service/persistent/RescheduleReadHandler.java | 20 +-
.../service/persistent/ShadowReplicator.java | 34 +-
.../service/persistent/SubscribeRateLimiter.java | 16 +-
.../broker/service/plugin/EntryFilterProvider.java | 33 +-
.../service/plugin/EntryFilterWithClassLoader.java | 11 +-
.../service/scalable/ConsumerAssignment.java | 27 +-
.../broker/service/scalable/ConsumerSession.java | 229 +++
.../broker/service/scalable/DagWatchSession.java | 257 ++++
.../service/scalable/ScalableTopicController.java | 627 ++++++++
.../scalable/ScalableTopicLayoutResponse.java | 45 +
.../service/scalable/ScalableTopicService.java | 284 ++++
.../broker/service/scalable/SegmentLayout.java | 269 ++++
.../service/scalable/SubscriptionCoordinator.java | 342 +++++
.../broker/service/scalable}/package-info.java | 2 +-
.../schema/AvroSchemaBasedCompatibilityCheck.java | 6 +-
.../service/schema/BookkeeperSchemaStorage.java | 130 +-
.../service/schema/NeverSchemaValidator.java | 3 -
.../service/schema/SchemaRegistryService.java | 7 +-
.../service/schema/SchemaRegistryServiceImpl.java | 78 +-
.../schema/validator/SchemaDataValidator.java | 5 +-
.../validator/StructSchemaDataValidator.java | 2 +-
.../apache/pulsar/broker/stats/DimensionStats.java | 10 +-
.../stats/prometheus/NamespaceStatsAggregator.java | 8 +-
.../prometheus/PrometheusMetricsGenerator.java | 7 +-
.../prometheus/PulsarPrometheusMetricsServlet.java | 14 +-
.../stats/prometheus/TransactionAggregator.java | 8 +-
.../NamespaceEventsSystemTopicFactory.java | 12 +-
.../broker/systopic/SystemTopicClientBase.java | 6 +-
.../systopic/TopicPoliciesSystemTopicClient.java | 20 +-
...sactionBufferSnapshotBaseSystemTopicClient.java | 22 +-
.../SingleSnapshotAbortedTxnProcessorImpl.java | 36 +-
.../SnapshotSegmentAbortedTxnProcessorImpl.java | 111 +-
.../broker/transaction/buffer/impl/TableView.java | 6 +-
.../buffer/impl/TopicTransactionBuffer.java | 127 +-
.../buffer/impl/TransactionBufferClientImpl.java | 4 +-
.../buffer/impl/TransactionBufferDisable.java | 4 +-
.../buffer/impl/TransactionBufferHandlerImpl.java | 83 +-
.../pendingack/impl/MLPendingAckReplyCallBack.java | 22 +-
.../pendingack/impl/MLPendingAckStore.java | 63 +-
.../pendingack/impl/MLPendingAckStoreProvider.java | 55 +-
.../pendingack/impl/PendingAckHandleImpl.java | 132 +-
.../recover/TransactionRecoverTrackerImpl.java | 5 +-
.../timeout/TransactionTimeoutTrackerImpl.java | 4 +-
.../apache/pulsar/broker/web/ExceptionHandler.java | 4 +-
.../pulsar/broker/web/PreInterceptFilter.java | 13 +-
.../pulsar/broker/web/PulsarWebResource.java | 225 +--
.../pulsar/broker/web/ResponseHandlerFilter.java | 20 +-
.../org/apache/pulsar/broker/web/WebService.java | 21 +-
.../pulsar/client/impl/CompactionReaderImpl.java | 5 +-
.../apache/pulsar/client/impl/RawMessageImpl.java | 6 +-
.../apache/pulsar/client/impl/RawReaderImpl.java | 12 +-
.../common/naming/NamespaceBundleFactory.java | 36 +-
.../compaction/AbstractTwoPhaseCompactor.java | 41 +-
.../pulsar/compaction/CompactedTopicImpl.java | 20 +-
.../org/apache/pulsar/compaction/Compactor.java | 10 +-
.../apache/pulsar/compaction/CompactorTool.java | 12 +-
.../pulsar/compaction/EventTimeOrderCompactor.java | 13 +-
.../compaction/PublishingOrderCompactor.java | 15 +-
.../compaction/StrategicTwoPhaseCompactor.java | 61 +-
.../pulsar/utils/TimedSingleThreadRateLimiter.java | 16 +-
.../zookeeper/DefaultMetadataNodeSizeStats.java | 4 +-
.../pulsar/zookeeper/LocalBookkeeperEnsemble.java | 80 +-
.../impl/ConsumerUnsubscribeIntegrationTest.java | 4 +-
.../mledger/impl/CustomizedManagedLedgerTest.java | 4 +-
.../impl/MangedLedgerInterceptorImpl2Test.java | 4 +-
.../NonEntryCacheKeySharedSubscriptionV30Test.java | 35 +-
.../impl/PersistentMessageExpiryMonitorTest.java | 6 +-
.../pulsar/PulsarClusterMetadataSetupTest.java | 4 +-
.../pulsar/broker/BrokerAdditionalServletTest.java | 10 +-
.../org/apache/pulsar/broker/BrokerTestUtil.java | 21 +-
.../apache/pulsar/broker/BrokerTestUtilTest.java | 4 +-
.../broker/CustomizedPulsarResourcesExtended.java | 9 +-
.../apache/pulsar/broker/EndToEndMetadataTest.java | 4 +-
.../LedgerLostAndSkipNonRecoverableTest.java | 17 +-
.../broker/MockedBookKeeperClientFactory.java | 5 +-
.../apache/pulsar/broker/MultiBrokerBaseTest.java | 8 +-
.../pulsar/broker/MultiBrokerTestZKBaseTest.java | 8 +-
.../broker/PublishWithMLPayloadProcessorTest.java | 6 +-
.../pulsar/broker/PulsarServiceBrokerIdTest.java | 4 +-
.../pulsar/broker/PulsarServiceCloseTest.java | 4 +-
.../apache/pulsar/broker/PulsarServiceTest.java | 7 +-
.../apache/pulsar/broker/SLAMonitoringTest.java | 14 +-
...ameAuthParamsLookupAutoClusterFailoverTest.java | 14 +-
.../pulsar/broker/TopicEventsListenerTest.java | 14 +-
.../apache/pulsar/broker/admin/AdminApi2Test.java | 65 +-
.../pulsar/broker/admin/AdminApiClusterTest.java | 4 +-
.../broker/admin/AdminApiDelayedDeliveryTest.java | 4 +-
.../admin/AdminApiDynamicConfigurationsTest.java | 4 +-
.../broker/admin/AdminApiHealthCheckTest.java | 6 +-
.../admin/AdminApiMaxUnackedMessagesTest.java | 4 +-
.../broker/admin/AdminApiMultiBrokersTest.java | 11 +-
...AdminApiNamespaceIsolationMultiBrokersTest.java | 4 +-
.../broker/admin/AdminApiSchemaAutoUpdateTest.java | 4 +-
.../admin/AdminApiSchemaJsonValidationTest.java | 11 +-
.../pulsar/broker/admin/AdminApiSchemaTest.java | 16 +-
.../AdminApiSchemaValidationEnforcedTest.java | 4 +-
.../broker/admin/AdminApiSchemaWithAuthTest.java | 4 +-
.../broker/admin/AdminApiSubscriptionTest.java | 4 +-
.../pulsar/broker/admin/AdminApiTenantTest.java | 4 +-
.../apache/pulsar/broker/admin/AdminApiTest.java | 151 +-
.../pulsar/broker/admin/AdminApiTlsAuthTest.java | 4 +-
.../apache/pulsar/broker/admin/AdminRestTest.java | 4 +-
.../pulsar/broker/admin/AdminTopicApiTest.java | 7 +-
.../apache/pulsar/broker/admin/BookiesApiTest.java | 6 +-
.../broker/admin/BrokerAdminClientTlsAuthTest.java | 6 +-
.../apache/pulsar/broker/admin/BrokerStatTest.java | 4 +-
.../broker/admin/CreateSubscriptionTest.java | 4 +-
.../admin/GetPartitionMetadataMultiBrokerTest.java | 10 +-
.../broker/admin/GetPartitionMetadataTest.java | 10 +-
.../apache/pulsar/broker/admin/NamespacesTest.java | 23 +-
.../pulsar/broker/admin/NamespacesV2Test.java | 30 +-
.../pulsar/broker/admin/PersistentTopicsTest.java | 24 +-
.../admin/PulsarClientImplMultiBrokersTest.java | 4 +-
.../pulsar/broker/admin/TopicAutoCreationTest.java | 8 +-
.../pulsar/broker/admin/TopicMessageTTLTest.java | 20 +-
.../broker/admin/TopicPoliciesDisableTest.java | 40 +-
.../pulsar/broker/admin/TopicPoliciesTest.java | 313 +++-
.../broker/admin/TopicPoliciesUpdateTest.java | 4 +-
.../admin/TopicPoliciesWithBrokerRestartTest.java | 4 +-
.../v3/AdminApiTransactionMultiBrokerTest.java | 4 +-
.../pulsar/broker/admin/v3/AsyncResponseTest.java | 6 +-
.../apache/pulsar/broker/auth/AuthLogsTest.java | 6 +-
.../pulsar/broker/auth/MockAuthentication.java | 5 +-
.../broker/auth/MockAuthenticationProvider.java | 5 +-
.../broker/auth/MockAuthorizationProvider.java | 5 +-
.../broker/auth/MockedPulsarServiceBaseTest.java | 17 +-
.../apache/pulsar/broker/auth/PortForwarder.java | 13 +-
.../AbstractBrokerEntryCacheMultiBrokerTest.java | 9 +-
.../pulsar/broker/cache/BacklogConsumerTest.java | 6 +-
.../cache/BrokerEntryCacheRollingRestartTest.java | 52 +-
.../pulsar/broker/cache/BrokerEntryCacheTest.java | 74 +-
.../cache/MinimumBacklogCacheStrategyTest.java | 6 +-
.../broker/delayed/MockBucketSnapshotStorage.java | 4 +-
.../delayed/bucket/DelayedIndexQueueTest.java | 9 +-
.../broker/intercept/CounterBrokerInterceptor.java | 79 +-
.../ManagedLedgerInterceptorImplTest.java | 7 +-
...isedListenersMultiBrokerLeaderElectionTest.java | 4 +-
.../loadbalance/AdvertisedListenersTest.java | 4 +-
.../loadbalance/LeaderElectionServiceTest.java | 9 +-
.../broker/loadbalance/LinuxInfoUtilsTest.java | 4 +-
.../broker/loadbalance/LoadBalancerTest.java | 34 +-
.../MultiBrokerLeaderElectionExpirationTest.java | 4 +-
.../loadbalance/MultiBrokerLeaderElectionTest.java | 14 +-
.../broker/loadbalance/SimpleBrokerStartTest.java | 8 +-
.../loadbalance/SimpleLoadManagerImplTest.java | 4 +-
.../extensions/BrokerRegistryIntegrationTest.java | 25 +-
.../loadbalance/extensions/BrokerRegistryTest.java | 12 +-
.../extensions/ExtensibleLoadManagerCloseTest.java | 8 +-
.../ExtensibleLoadManagerImplBaseTest.java | 52 +-
.../extensions/ExtensibleLoadManagerImplTest.java | 67 +-
...LoadManagerImplWithAdvertisedListenersTest.java | 51 +-
.../extensions/manager/SplitManagerTest.java | 4 +-
.../extensions/manager/UnloadManagerTest.java | 4 +-
.../loadbalance/impl/BundleSplitterTaskTest.java | 4 +-
.../impl/LinuxBrokerHostUsageImplTest.java | 7 +-
.../impl/ModularLoadManagerImplTest.java | 43 +-
.../loadbalance/impl/ThresholdShedderTest.java | 4 +-
.../broker/namespace/NamespaceServiceTest.java | 11 +-
.../OwnerShipCacheForCurrentServerTest.java | 4 +-
.../OwnerShipForCurrentServerTestBase.java | 6 +-
.../protocol/PulsarClientBasedHandlerTest.java | 8 +-
.../protocol/SimpleProtocolHandlerTestsBase.java | 6 +-
.../RGUsageMTAggrWaitForAllMsgsTest.java | 83 +-
.../ResourceGroupConfigListenerTest.java | 4 +-
.../resourcegroup/ResourceGroupServiceTest.java | 24 +-
.../ResourceGroupUsageAggregationTest.java | 4 +-
.../broker/service/BacklogQuotaManagerTest.java | 31 +-
.../pulsar/broker/service/BatchMessageTest.java | 33 +-
.../BatchMessageWithBatchIndexLevelTest.java | 8 +-
.../pulsar/broker/service/BkEnsemblesTestBase.java | 6 +-
.../broker/service/BrokerBkEnsemblesTest.java | 10 +-
.../broker/service/BrokerBookieIsolationTest.java | 6 +-
.../service/BrokerDispatchRateLimiterTest.java | 20 +-
.../BrokerServiceBundlesCacheInvalidationTest.java | 6 +-
.../broker/service/BrokerServiceChaosTest.java | 4 +-
.../pulsar/broker/service/BrokerServiceTest.java | 7 +-
.../pulsar/broker/service/BrokerTestBase.java | 11 +-
.../CanReconnectZKClientPulsarServiceBaseTest.java | 10 +-
.../broker/service/ClusterMigrationTest.java | 9 +-
.../broker/service/ConsumedLedgersTrimTest.java | 14 +-
...eateTopicToRemoteClusterForReplicationTest.java | 4 +-
.../DispatchRateLimiterOverconsumingTest.java | 21 +-
...eoReplicationWithConfigurationSyncTestBase.java | 4 +-
.../apache/pulsar/broker/service/Ipv4Proxy.java | 6 +-
.../apache/pulsar/broker/service/KeyValueTest.java | 4 +-
.../broker/service/ManagedLedgerConfigTest.java | 4 +-
.../pulsar/broker/service/MaxMessageSizeTest.java | 4 +-
.../pulsar/broker/service/MessageTTLTest.java | 10 +-
.../broker/service/NetworkErrorTestBase.java | 7 +-
.../pulsar/broker/service/NullValueTest.java | 4 +-
.../service/OneWayReplicatorDeduplicationTest.java | 83 +-
...eWayReplicatorSchemaValidationEnforcedTest.java | 4 +-
.../broker/service/OneWayReplicatorTest.java | 38 +-
.../broker/service/OneWayReplicatorTestBase.java | 9 +-
...OneWayReplicatorUsingGlobalPartitionedTest.java | 4 +-
.../service/OneWayReplicatorUsingGlobalZKTest.java | 10 +-
.../PersistentDispatcherFailoverConsumerTest.java | 7 +-
.../service/PersistentMessageFinderTest.java | 21 +-
.../broker/service/PersistentQueueE2ETest.java | 32 +-
.../service/PersistentTopicConcurrentTest.java | 24 +-
.../PersistentTopicInitializeDelayTest.java | 8 +-
.../pulsar/broker/service/PersistentTopicTest.java | 26 +-
.../PublishRateLimiterOverconsumingTest.java | 17 +-
.../broker/service/PublishRateLimiterTest.java | 129 +-
.../pulsar/broker/service/RackAwareTest.java | 22 +-
.../broker/service/ReplicatedSubscriptionTest.java | 12 +-
.../broker/service/ReplicationTopicGcTest.java | 4 +-
.../ReplicationTopicGcUsingGlobalZKTest.java | 4 +-
.../pulsar/broker/service/ReplicationTxnTest.java | 4 +-
.../broker/service/ReplicatorGlobalNSTest.java | 10 +-
.../broker/service/ReplicatorRateLimiterTest.java | 23 +-
.../pulsar/broker/service/ReplicatorTest.java | 75 +-
.../pulsar/broker/service/ReplicatorTestBase.java | 30 +-
.../pulsar/broker/service/ReplicatorTlsTest.java | 6 +-
.../pulsar/broker/service/ResendRequestTest.java | 149 +-
.../broker/service/ServerCnxNonInjectionTest.java | 4 +-
.../pulsar/broker/service/ServerCnxTest.java | 48 +-
.../SetReplicationClustersValidationTest.java | 4 +-
.../broker/service/SharedPulsarBaseTest.java | 10 +-
.../pulsar/broker/service/SharedPulsarCluster.java | 10 +-
.../broker/service/SubscriptionSeekTest.java | 20 +-
.../pulsar/broker/service/SyncConfigStoreTest.java | 4 +-
.../SystemTopicBasedTopicPoliciesServiceTest.java | 11 +-
.../apache/pulsar/broker/service/TopicGCTest.java | 10 +-
.../broker/service/TopicListServiceTest.java | 4 +-
.../pulsar/broker/service/TopicOwnerTest.java | 6 +-
.../ZKMetadataStoreBatchIOperationTest.java | 12 +-
.../pulsar/broker/service/ZkSessionExpireTest.java | 46 +-
.../service/persistent/MessageDuplicationTest.java | 7 +-
...tentDispatcherMultipleConsumersClassicTest.java | 4 +-
...tDispatcherMultipleConsumersReadLimitsTest.java | 8 +-
.../PersistentDispatcherMultipleConsumersTest.java | 4 +-
...rsistentDispatcherSingleActiveConsumerTest.java | 4 +-
.../PersistentReplicatorInflightTaskTest.java | 4 +-
.../PersistentTopicProtectedMethodsTest.java | 4 +-
.../service/persistent/PersistentTopicTest.java | 8 +-
.../ReplicatedSubscriptionSnapshotCacheTest.java | 22 +-
.../service/persistent/ShadowReplicatorTest.java | 5 +-
.../broker/service/persistent/ShadowTopicTest.java | 9 +-
.../service/plugin/EntryFilterProducerTest.java | 19 +-
.../broker/service/plugin/EntryFilterTest.java | 19 +-
.../broker/service/plugin/FilterEntryTest.java | 19 +-
.../service/scalable/ConsumerSessionTest.java | 299 ++++
.../service/scalable/DagWatchSessionTest.java | 330 +++++
.../scalable/ScalableTopicControllerTest.java | 462 ++++++
.../service/scalable/ScalableTopicServiceTest.java | 350 +++++
.../broker/service/scalable/SegmentLayoutTest.java | 250 ++++
.../scalable/SubscriptionCoordinatorTest.java | 266 ++++
.../pulsar/broker/stats/ConsumerStatsTest.java | 11 +-
.../broker/stats/MetricsAuthenticationTest.java | 4 +-
.../broker/stats/PrometheusMetricsLabelsTest.java | 4 +-
.../pulsar/broker/stats/PrometheusMetricsTest.java | 5 +-
.../pulsar/broker/stats/SubscriptionStatsTest.java | 4 +-
.../stats/TransactionBatchWriterMetricsTest.java | 5 +-
.../broker/stats/TransactionMetricsTest.java | 5 +-
.../NamespaceEventsSystemTopicServiceTest.java | 10 +-
.../testcontext/AbstractTestPulsarService.java | 6 +-
.../broker/testcontext/PulsarTestContext.java | 7 +-
...thenticatedTransactionProducerConsumerTest.java | 7 +-
.../SegmentAbortedTxnProcessorTest.java | 4 +-
.../TopicTransactionBufferRecoverTest.java | 21 +-
.../broker/transaction/TransactionConsumeTest.java | 22 +-
.../broker/transaction/TransactionProduceTest.java | 30 +-
.../pulsar/broker/transaction/TransactionTest.java | 21 +-
.../broker/transaction/TransactionTestBase.java | 7 +-
.../buffer/TransactionBufferClientTest.java | 6 +-
.../buffer/TransactionBufferCloseTest.java | 4 +-
.../buffer/TransactionLowWaterMarkTest.java | 5 +-
.../buffer/TransactionStablePositionTest.java | 4 +-
.../impl/TransactionPersistentTopicTest.java | 4 +-
.../coordinator/TransactionMetaStoreTestBase.java | 9 +-
.../pendingack/PendingAckInMemoryDeleteTest.java | 17 +-
.../pendingack/PendingAckPersistentTest.java | 9 +-
.../pendingack/impl/MLPendingAckStoreTest.java | 4 +-
.../broker/web/WebServiceOriginalClientIPTest.java | 21 +-
.../apache/pulsar/broker/web/WebServiceTest.java | 14 +-
.../broker/zookeeper/ClusterMetadataSetupTest.java | 14 +-
.../MultiBrokerMetadataConsistencyTest.java | 8 +-
.../api/AuthenticatedProducerConsumerTest.java | 30 +-
.../AuthenticationTlsHostnameVerificationTest.java | 19 +-
.../api/AuthorizationProducerConsumerTest.java | 47 +-
.../pulsar/client/api/BrokerServiceLookupTest.java | 53 +-
.../client/api/ClientDeduplicationFailureTest.java | 23 +-
.../pulsar/client/api/ClientDeduplicationTest.java | 12 +-
.../client/api/ConsumerBatchReceiveTest.java | 33 +-
.../pulsar/client/api/ConsumerRedeliveryTest.java | 11 +-
.../DeadLetterTopicDefaultMultiPartitionsTest.java | 6 +-
.../pulsar/client/api/DeadLetterTopicTest.java | 134 +-
.../client/api/DispatcherBlockConsumerTest.java | 49 +-
.../client/api/FailoverSubscriptionTest.java | 4 +-
.../client/api/HybridTypesAcknowledgeTest.java | 37 +-
.../client/api/InjectedClientCnxClientBuilder.java | 8 +-
.../apache/pulsar/client/api/InterceptorsTest.java | 36 +-
.../api/KeySharedSubscriptionBrokerCacheTest.java | 13 +-
...ySharedSubscriptionDisabledBrokerCacheTest.java | 14 +-
.../client/api/KeySharedSubscriptionTest.java | 92 +-
.../pulsar/client/api/LookupPropertiesTest.java | 4 +-
.../apache/pulsar/client/api/MaxProducerTest.java | 4 +-
.../client/api/MessageDispatchThrottlingTest.java | 87 +-
.../client/api/MessageListenerExecutorTest.java | 11 +-
.../pulsar/client/api/MockBrokerService.java | 19 +-
.../pulsar/client/api/MultiTopicsConsumerTest.java | 4 +-
.../client/api/MutualAuthenticationTest.java | 21 +-
.../client/api/NonDurableSubscriptionTest.java | 66 +-
.../api/NonPartitionedTopicExpectedTest.java | 6 +-
.../pulsar/client/api/NonPersistentTopicTest.java | 37 +-
.../client/api/OrphanPersistentTopicTest.java | 14 +-
.../api/PartitionedProducerConsumerTest.java | 83 +-
...ackPressureMultipleConsumersHttpLookupTest.java | 4 +-
...nConsumerBackPressureMultipleConsumersTest.java | 31 +-
.../api/PatternConsumerBackPressureTest.java | 9 +-
...icWatcherBackPressureMultipleConsumersTest.java | 9 +-
.../client/api/PatternMultiTopicsConsumerTest.java | 10 +-
.../client/api/PersistentTopicTerminateTest.java | 4 +-
.../pulsar/client/api/ProxyProtocolTest.java | 5 +-
.../apache/pulsar/client/api/RetryTopicTest.java | 133 +-
.../pulsar/client/api/ServiceUrlProviderTest.java | 4 +-
...roducerConsumerDisallowAutoCreateTopicTest.java | 6 +-
...impleProducerConsumerMLInitializeDelayTest.java | 6 +-
.../client/api/SimpleProducerConsumerStatTest.java | 51 +-
.../client/api/SimpleProducerConsumerTest.java | 329 ++---
.../apache/pulsar/client/api/SimpleSchemaTest.java | 16 +-
.../api/SimpleTypedProducerConsumerTest.java | 57 +-
.../SubscriptionMessageDispatchThrottlingTest.java | 65 +-
.../api/SubscriptionPauseOnAckStatPersistTest.java | 4 +-
.../pulsar/client/api/TlsProducerConsumerTest.java | 27 +-
.../TokenAuthenticatedProducerConsumerTest.java | 23 +-
.../api/TokenExpirationProduceConsumerTest.java | 4 +-
...kenOauth2AuthenticatedProducerConsumerTest.java | 19 +-
.../apache/pulsar/client/api/TopicReaderTest.java | 33 +-
.../pulsar/client/api/UnloadSubscriptionTest.java | 30 +-
.../client/impl/AdminApiKeyStoreTlsAuthTest.java | 6 +-
.../impl/AutoCloseUselessClientConTXTest.java | 6 +-
.../impl/AutoScaledReceiverQueueSizeTest.java | 65 +-
.../impl/BatchMessageIndexAckDisableTest.java | 4 +-
.../client/impl/BatchMessageIndexAckTest.java | 4 +-
.../client/impl/BrokerClientIntegrationTest.java | 33 +-
.../apache/pulsar/client/impl/ClientCnxTest.java | 6 +-
.../pulsar/client/impl/ClientInterruptTest.java | 6 +-
.../client/impl/ClientWithSocks5ProxyTest.java | 6 +-
.../pulsar/client/impl/ConnectionHandlerTest.java | 4 +-
.../apache/pulsar/client/impl/ConsumerAckTest.java | 14 +-
.../pulsar/client/impl/ConsumerCloseTest.java | 4 +-
.../impl/ConsumerDecryptFailListenerTest.java | 12 +-
.../client/impl/ConsumerMemoryLimitTest.java | 113 +-
.../client/impl/DisabledSystemTopicTest.java | 4 +-
.../impl/HierarchyTopicAutoCreationTest.java | 4 +-
...eyStoreTlsProducerConsumerTestWithAuthTest.java | 18 +-
...toreTlsProducerConsumerTestWithoutAuthTest.java | 18 +-
.../pulsar/client/impl/LookupServiceTest.java | 4 +-
.../pulsar/client/impl/MessageChecksumTest.java | 5 +-
.../impl/MessageChunkingDeduplicationTest.java | 4 +-
.../client/impl/MessageChunkingSharedTest.java | 17 +-
.../pulsar/client/impl/MessageChunkingTest.java | 45 +-
.../apache/pulsar/client/impl/MessageIdTest.java | 13 +-
.../client/impl/MessagePublishThrottlingTest.java | 83 +-
.../pulsar/client/impl/MessageRedeliveryTest.java | 7 +-
.../apache/pulsar/client/impl/MockMessageTest.java | 6 +-
.../pulsar/client/impl/MultiTopicsReaderTest.java | 8 +-
.../pulsar/client/impl/NegativeAcksTest.java | 31 +-
.../impl/PartialPartitionedProducerTest.java | 4 +-
.../impl/PatternTopicsConsumerImplAuthTest.java | 11 +-
.../client/impl/PatternTopicsConsumerImplTest.java | 33 +-
.../PerMessageUnAcknowledgedRedeliveryTest.java | 5 +-
.../client/impl/ProduceWithMessageIdTest.java | 15 +-
.../client/impl/ProducerConsumerInternalTest.java | 14 +-
.../pulsar/client/impl/ProducerMemoryLeakTest.java | 4 +-
.../client/impl/ProducerMemoryLimitTest.java | 85 ++
.../client/impl/ProducerReconnectionTest.java | 6 +-
.../client/impl/PulsarMultiHostClientTest.java | 26 +-
.../pulsar/client/impl/PulsarTestClient.java | 10 +-
.../pulsar/client/impl/RawMessageSerDeserTest.java | 5 +-
.../apache/pulsar/client/impl/RawReaderTest.java | 8 +-
.../org/apache/pulsar/client/impl/ReaderTest.java | 18 +-
.../client/impl/ServiceUrlQuarantineTest.java | 24 +-
.../client/impl/SimpleProduceConsumeIoTest.java | 4 +-
.../apache/pulsar/client/impl/TableViewTest.java | 36 +-
.../pulsar/client/impl/TopicFromMessageTest.java | 71 +-
.../impl/TopicPublishThrottlingInitTest.java | 20 +-
.../pulsar/client/impl/TopicsConsumerImplTest.java | 37 +-
.../client/impl/TransactionClientConnectTest.java | 4 +-
.../client/impl/TransactionEndToEndTest.java | 24 +-
...ransactionEndToEndWithoutBatchIndexAckTest.java | 4 +-
.../impl/UnAcknowledgedMessagesTimeoutTest.java | 9 +-
.../pulsar/client/impl/ZeroQueueSizeTest.java | 7 +-
.../processor/CustomBatchPayloadProcessor.java | 4 +-
.../client/processor/CustomBatchProducer.java | 12 +-
.../processor/MessagePayloadProcessorTest.java | 8 +-
.../pulsar/common/naming/NamespaceBundlesTest.java | 13 +-
.../common/protocol/ProducerBatchSendTest.java | 4 +-
.../pulsar/compaction/CompactionRetentionTest.java | 38 +-
.../apache/pulsar/compaction/CompactionTest.java | 13 +-
.../compaction/GetLastMessageIdCompactedTest.java | 9 +-
.../StrategicCompactionRetentionTest.java | 4 +-
.../apache/pulsar/functions/worker/FileServer.java | 6 +-
.../worker/PulsarFunctionE2ESecurityTest.java | 13 +-
.../worker/PulsarFunctionLocalRunTest.java | 15 +-
.../worker/PulsarFunctionMetadataStoreTest.java | 4 +-
.../worker/PulsarFunctionPublishTest.java | 8 +-
.../functions/worker/PulsarFunctionTlsTest.java | 12 +-
.../worker/PulsarWorkerAssignmentTest.java | 12 +-
.../functions/worker/TestPulsarFunctionUtils.java | 4 +-
.../apache/pulsar/io/AbstractPulsarE2ETest.java | 9 +-
.../apache/pulsar/io/PulsarBatchSourceE2ETest.java | 3 +-
.../apache/pulsar/io/PulsarFunctionAdminTest.java | 8 +-
.../apache/pulsar/io/PulsarFunctionE2ETest.java | 7 +-
.../apache/pulsar/io/PulsarFunctionTlsTest.java | 8 +-
.../org/apache/pulsar/io/PulsarSinkE2ETest.java | 6 +-
.../org/apache/pulsar/io/PulsarSourceE2ETest.java | 3 +-
.../java/org/apache/pulsar/schema/SchemaTest.java | 107 +-
.../SchemaCompatibilityCheckTest.java | 4 +-
.../org/apache/pulsar/socks5/Socks5Server.java | 8 +-
.../socks5/handler/CommandRequestHandler.java | 8 +-
.../socks5/handler/InitialRequestHandler.java | 6 +-
.../socks5/handler/PasswordAuthRequestHandler.java | 4 +-
.../stats/client/PulsarBrokerStatsClientTest.java | 12 +-
.../org/apache/pulsar/utils/TestLogAppender.java | 11 +-
.../proxy/ClientSideEncryptionWssConsumer.java | 23 +-
.../proxy/ClientSideEncryptionWssProducer.java | 12 +-
.../websocket/proxy/ProxyAuthenticationTest.java | 10 +-
.../proxy/ProxyEncryptionPublishConsumeTest.java | 12 +-
.../websocket/proxy/ProxyIdleTimeoutTest.java | 4 +-
.../pulsar/websocket/proxy/ProxyPingTest.java | 4 +-
...roxyPublishConsumeClientSideEncryptionTest.java | 10 +-
.../websocket/proxy/ProxyPublishConsumeTest.java | 20 +-
.../proxy/ProxyPublishConsumeTlsTest.java | 10 +-
.../proxy/ProxyPublishConsumeWithoutZKTest.java | 10 +-
.../pulsar/websocket/proxy/ProxyRoleAuthTest.java | 51 +-
.../websocket/proxy/SimpleConsumerSocket.java | 12 +-
.../websocket/proxy/SimpleProducerSocket.java | 10 +-
.../websocket/proxy/WssClientSideEncryptUtils.java | 6 +-
.../pulsar/zookeeper/ZookeeperServerTest.java | 14 +-
pulsar-broker/src/test/resources/log4j2.xml | 4 +-
pulsar-build/pulsar_ci_tool.sh | 140 +-
pulsar-build/run_integration_group_gradle.sh | 3 +-
pulsar-cli-utils/build.gradle.kts | 2 +-
pulsar-client-admin-api/build.gradle.kts | 4 +-
.../apache/pulsar/client/admin/PulsarAdmin.java | 5 +
.../pulsar/client/admin/PulsarAdminBuilder.java | 2 +-
.../pulsar/client/admin/PulsarAdminException.java | 4 +-
.../apache/pulsar/client/admin/ScalableTopics.java | 260 ++++
.../apache/pulsar/common/functions/WorkerInfo.java | 6 +-
.../apache/pulsar/common/naming/TopicDomain.java | 3 +-
...leteMode.java => ScalableSubscriptionType.java} | 18 +-
.../policies/data/ScalableTopicMetadata.java | 98 ++
.../common/policies/data/ScalableTopicStats.java | 83 ++
.../data/ScalableSubscriptionTypeTest.java | 48 +
.../policies/data/ScalableTopicMetadataTest.java | 194 +++
.../policies/data/ScalableTopicStatsTest.java | 163 +++
pulsar-client-admin-shaded/build.gradle.kts | 2 +-
pulsar-client-admin/build.gradle.kts | 3 +-
.../pulsar/client/admin/internal/BaseResource.java | 22 +-
.../client/admin/internal/FunctionsImpl.java | 9 +-
.../client/admin/internal/PulsarAdminImpl.java | 19 +-
.../client/admin/internal/ScalableTopicsImpl.java | 254 ++++
.../pulsar/client/admin/internal/SinksImpl.java | 4 +-
.../pulsar/client/admin/internal/SourcesImpl.java | 4 +-
.../pulsar/client/admin/internal/TopicsImpl.java | 29 +-
.../pulsar/client/admin/internal/WebTargets.java | 4 +-
.../pulsar/client/admin/internal/WorkerImpl.java | 4 +-
.../admin/internal/http/AsyncHttpConnector.java | 22 +-
.../internal/http/AsyncHttpConnectorTest.java | 56 +
pulsar-client-admin/src/test/resources/log4j2.xml | 2 +-
pulsar-client-all/build.gradle.kts | 2 +-
.../build.gradle.kts | 0
.../apache/pulsar/client/api/v5/Checkpoint.java | 95 ++
.../pulsar/client/api/v5/CheckpointConsumer.java | 123 ++
.../client/api/v5/CheckpointConsumerBuilder.java | 113 ++
.../org/apache/pulsar/client/api/v5/Message.java | 123 ++
.../pulsar/client/api/v5/MessageBuilder.java | 23 +-
.../org/apache/pulsar/client/api/v5/MessageId.java | 68 +
.../pulsar/client/api/v5/MessageMetadata.java | 120 ++
.../org/apache/pulsar/client/api/v5}/Messages.java | 25 +-
.../org/apache/pulsar/client/api/v5/Producer.java | 80 ++
.../pulsar/client/api/v5/ProducerBuilder.java | 170 +++
.../apache/pulsar/client/api/v5/PulsarClient.java | 130 ++
.../pulsar/client/api/v5/PulsarClientBuilder.java | 156 ++
.../client/api/v5/PulsarClientException.java | 161 +++
.../apache/pulsar/client/api/v5/QueueConsumer.java | 117 ++
.../pulsar/client/api/v5/QueueConsumerBuilder.java | 239 ++++
.../pulsar/client/api/v5/StreamConsumer.java | 121 ++
.../client/api/v5/StreamConsumerBuilder.java | 166 +++
.../apache/pulsar/client/api/v5/Transaction.java | 71 +
.../api/v5/async/AsyncCheckpointConsumer.java | 88 ++
.../client/api/v5/async/AsyncMessageBuilder.java | 25 +-
.../pulsar/client/api/v5/async/AsyncProducer.java | 57 +
.../client/api/v5/async/AsyncQueueConsumer.java | 88 ++
.../client/api/v5/async/AsyncStreamConsumer.java | 89 ++
.../client/api/v5/async/AsyncTransaction.java | 26 +-
.../pulsar/client/api/v5/async/package-info.java | 14 +-
.../pulsar/client/api/v5/auth/Authentication.java | 70 +
.../client/api/v5/auth/AuthenticationData.java | 99 ++
.../client/api/v5/auth/AuthenticationFactory.java | 93 ++
.../client/api/v5/auth/CryptoFailureAction.java | 25 +-
.../pulsar/client/api/v5/auth/CryptoKeyReader.java | 36 +-
.../client/api/v5/auth/EncryptionKeyInfo.java | 23 +-
.../pulsar/client/api/v5/auth/package-info.java | 14 +-
.../pulsar/client/api/v5/config/BackoffPolicy.java | 79 ++
.../client/api/v5/config/BatchingPolicy.java | 87 ++
.../client/api/v5/config/ChunkingPolicy.java | 15 +-
.../client/api/v5/config/CompressionPolicy.java | 26 +-
.../client/api/v5/config/CompressionType.java | 40 +-
.../client/api/v5/config/ConnectionPolicy.java | 217 +++
.../client/api/v5/config/DeadLetterPolicy.java | 53 +
.../client/api/v5/config/EncryptionPolicy.java | 72 +
.../pulsar/client/api/v5/config/MemorySize.java | 101 ++
.../client/api/v5/config}/ProducerAccessMode.java | 24 +-
.../pulsar/client/api/v5/config/ProxyProtocol.java | 7 +-
.../api/v5/config/SubscriptionInitialPosition.java | 19 +-
.../pulsar/client/api/v5/config/TlsPolicy.java | 67 +
.../client/api/v5/config/TransactionPolicy.java | 14 +-
.../pulsar/client/api/v5/config/package-info.java | 15 +-
.../api/v5/internal/PulsarClientProvider.java | 123 ++
.../client/api/v5/internal}/package-info.java | 4 +-
.../apache/pulsar/client/api/v5/package-info.java | 46 +
.../apache/pulsar/client/api/v5/schema/Schema.java | 207 +++
.../pulsar/client/api/v5/schema/SchemaInfo.java | 37 +-
.../pulsar/client/api/v5/schema/SchemaType.java | 24 +-
.../pulsar/client/api/v5/schema}/package-info.java | 10 +-
.../org/apache/pulsar/client/api/v5/Examples.java | 538 +++++++
pulsar-client-api/build.gradle.kts | 2 +-
.../{TopicMetadata.java => MemoryLimitConfig.java} | 20 +-
...TopicMetadata.java => OpenTelemetryConfig.java} | 20 +-
.../client/api/PulsarClientSharedResources.java | 11 +-
.../api/PulsarClientSharedResourcesBuilder.java | 16 +
pulsar-client-auth-athenz/build.gradle.kts | 3 +-
pulsar-client-auth-sasl/build.gradle.kts | 4 +-
.../client/impl/auth/AuthenticationSasl.java | 42 +-
.../pulsar/client/impl/auth/PulsarSaslClient.java | 18 +-
.../impl/auth/SaslAuthenticationDataProvider.java | 4 +-
pulsar-client-messagecrypto-bc/build.gradle.kts | 6 +-
.../pulsar/client/impl/crypto/MessageCryptoBc.java | 37 +-
pulsar-client-shaded/build.gradle.kts | 2 +-
pulsar-client-tools-api/build.gradle.kts | 2 +-
.../build.gradle.kts | 5 +-
.../admin/cli/examples/MyCommandFactory.java | 4 +-
pulsar-client-tools-test/build.gradle.kts | 1 +
.../apache/pulsar/admin/cli/CmdFunctionsTest.java | 4 +-
.../pulsar/admin/cli/PulsarAdminToolTest.java | 10 +-
pulsar-client-tools/build.gradle.kts | 3 +-
.../apache/pulsar/admin/cli/CmdFunctionWorker.java | 4 +-
.../org/apache/pulsar/admin/cli/CmdFunctions.java | 4 +-
.../pulsar/admin/cli/CmdGenerateDocument.java | 4 +-
.../apache/pulsar/admin/cli/CmdScalableTopics.java | 157 +++
.../java/org/apache/pulsar/admin/cli/CmdSinks.java | 4 +-
.../org/apache/pulsar/admin/cli/CmdSources.java | 4 +-
.../apache/pulsar/admin/cli/PulsarAdminTool.java | 1 +
.../cli/utils/CustomCommandFactoryProvider.java | 23 +-
.../pulsar/client/cli/AbstractCmdConsume.java | 8 +-
.../client/cli/CmdGenerateDocumentation.java | 4 +-
.../org/apache/pulsar/client/cli/CmdProduce.java | 39 +-
.../org/apache/pulsar/admin/cli/TestCmdSinks.java | 4 +-
.../org/apache/pulsar/shell/PulsarShellTest.java | 8 +-
.../build.gradle.kts | 21 +-
.../client/impl/v5/AsyncCheckpointConsumerV5.java | 77 +
.../client/impl/v5/AsyncMessageBuilderV5.java | 124 ++
.../pulsar/client/impl/v5/AsyncProducerV5.java | 36 +-
.../client/impl/v5/AsyncQueueConsumerV5.java | 72 +
.../client/impl/v5/AsyncStreamConsumerV5.java | 78 +
.../client/impl/v5/AuthenticationAdapter.java | 132 ++
.../impl/v5/CheckpointConsumerBuilderV5.java | 109 ++
.../apache/pulsar/client/impl/v5/CheckpointV5.java | 158 +++
.../pulsar/client/impl/v5/ClientSegmentLayout.java | 111 ++
.../client/impl/v5/CryptoKeyReaderAdapter.java | 28 +-
.../pulsar/client/impl/v5/DagWatchClient.java | 181 +++
.../pulsar/client/impl/v5/MessageBuilderV5.java | 123 ++
.../apache/pulsar/client/impl/v5/MessageIdV5.java | 192 +++
.../apache/pulsar/client/impl/v5/MessageV5.java | 119 ++
.../apache/pulsar/client/impl/v5/MessagesV5.java | 41 +-
.../pulsar/client/impl/v5/ProducerBuilderV5.java | 169 +++
.../client/impl/v5/PulsarClientBuilderV5.java | 144 ++
.../client/impl/v5/PulsarClientProviderV5.java | 178 +++
.../pulsar/client/impl/v5/PulsarClientV5.java | 109 ++
.../client/impl/v5/QueueConsumerBuilderV5.java | 234 +++
.../client/impl/v5/ScalableCheckpointConsumer.java | 365 +++++
.../client/impl/v5/ScalableQueueConsumer.java | 357 +++++
.../client/impl/v5/ScalableStreamConsumer.java | 354 +++++
.../client/impl/v5/ScalableTopicProducer.java | 378 +++++
.../pulsar/client/impl/v5/SchemaAdapter.java | 193 +++
.../pulsar/client/impl/v5/SegmentRouter.java | 87 ++
.../client/impl/v5/StreamConsumerBuilderV5.java | 167 +++
.../org/apache/pulsar/client/impl/v5/V5Utils.java | 50 +
.../pulsar/client/impl/v5}/package-info.java | 2 +-
...sar.client.api.v5.internal.PulsarClientProvider | 1 +
.../pulsar/client/impl/v5/CheckpointV5Test.java | 140 ++
.../client/impl/v5/ClientSegmentLayoutTest.java | 165 +++
.../pulsar/client/impl/v5/MessageIdV5Test.java | 205 +++
.../pulsar/client/impl/v5/SegmentRouterTest.java | 167 +++
.../apache/pulsar/client/impl/v5/V5UtilsTest.java | 78 +
pulsar-client/build.gradle.kts | 5 +-
.../client/impl/AbstractBatchMessageContainer.java | 4 +-
.../pulsar/client/impl/AutoClusterFailover.java | 55 +-
.../client/impl/BatchMessageContainerImpl.java | 41 +-
.../client/impl/BatchMessageKeyBasedContainer.java | 14 +-
.../client/impl/BinaryProtoLookupService.java | 69 +-
.../org/apache/pulsar/client/impl/ClientCnx.java | 413 +++---
.../pulsar/client/impl/ConnectionHandler.java | 60 +-
.../apache/pulsar/client/impl/ConnectionPool.java | 40 +-
.../apache/pulsar/client/impl/ConsumerBase.java | 92 +-
.../pulsar/client/impl/ConsumerBuilderImpl.java | 4 +-
.../apache/pulsar/client/impl/ConsumerImpl.java | 396 +++---
.../pulsar/client/impl/ConsumerInterceptors.java | 34 +-
.../client/impl/ConsumerStatsRecorderImpl.java | 43 +-
.../client/impl/ControlledClusterFailover.java | 21 +-
...nsChangedListener.java => DagWatchSession.java} | 26 +-
.../pulsar/client/impl/DefaultCryptoKeyReader.java | 14 +-
.../client/impl/GeoReplicationProducerImpl.java | 142 +-
.../org/apache/pulsar/client/impl/HttpClient.java | 124 +-
.../pulsar/client/impl/HttpLookupService.java | 27 +-
.../pulsar/client/impl/MemoryLimitController.java | 33 +-
.../impl/MultiTopicConsumerStatsRecorderImpl.java | 6 +-
.../client/impl/MultiTopicsConsumerImpl.java | 208 +--
.../pulsar/client/impl/MultiTopicsReaderImpl.java | 24 +-
.../pulsar/client/impl/NegativeAcksTracker.java | 9 +-
.../client/impl/PartitionedProducerImpl.java | 84 +-
.../PartitionedTopicProducerStatsRecorderImpl.java | 6 +-
.../client/impl/PatternConsumerUpdateQueue.java | 39 +-
.../impl/PatternMultiTopicsConsumerImpl.java | 112 +-
.../PersistentAcknowledgmentsGroupingTracker.java | 94 +-
.../apache/pulsar/client/impl/ProducerImpl.java | 310 ++--
.../pulsar/client/impl/ProducerInterceptors.java | 19 +-
.../client/impl/ProducerStatsRecorderImpl.java | 62 +-
.../client/impl/PulsarChannelInitializer.java | 10 +-
.../pulsar/client/impl/PulsarClientImpl.java | 226 ++-
.../impl/PulsarClientResourcesConfigurer.java | 23 +
.../PulsarClientSharedResourcesBuilderImpl.java | 48 +
.../impl/PulsarClientSharedResourcesImpl.java | 34 +
.../client/impl/PulsarServiceNameResolver.java | 25 +-
.../org/apache/pulsar/client/impl/ReaderImpl.java | 35 +-
.../SameAuthParamsLookupAutoClusterFailover.java | 61 +-
.../apache/pulsar/client/impl/TableViewImpl.java | 51 +-
.../pulsar/client/impl/TopicListWatcher.java | 34 +-
.../client/impl/TransactionMetaStoreHandler.java | 185 ++-
.../impl/UnAckedMessageRedeliveryTracker.java | 10 +-
.../pulsar/client/impl/UnAckedMessageTracker.java | 9 +-
.../pulsar/client/impl/ZeroQueueConsumerImpl.java | 18 +-
.../impl/auth/AuthenticationDataKeyStoreTls.java | 4 +-
.../client/impl/auth/AuthenticationDataTls.java | 16 +-
.../impl/auth/AuthenticationKeyStoreTls.java | 6 +-
.../impl/auth/oauth2/AuthenticationOAuth2.java | 10 +-
.../impl/auth/oauth2/ClientCredentialsFlow.java | 4 +-
.../pulsar/client/impl/auth/oauth2/FlowBase.java | 18 +-
.../client/impl/conf/ConfigurationDataUtils.java | 2 +-
.../client/impl/schema/AbstractStructSchema.java | 6 +-
.../client/impl/schema/AutoConsumeSchema.java | 19 +-
.../pulsar/client/impl/schema/AvroSchema.java | 7 +-
.../pulsar/client/impl/schema/JSONSchema.java | 7 +-
.../client/impl/schema/KeyValueSchemaImpl.java | 18 +-
.../impl/schema/ProtobufNativeSchemaUtils.java | 16 +-
.../impl/schema/generic/GenericAvroReader.java | 8 +-
.../impl/schema/generic/GenericAvroRecord.java | 4 +-
.../impl/schema/generic/GenericAvroSchema.java | 4 +-
.../impl/schema/generic/GenericJsonReader.java | 8 +-
.../impl/schema/generic/GenericJsonRecord.java | 6 +-
.../impl/schema/generic/GenericJsonSchema.java | 4 +-
.../generic/GenericProtobufNativeReader.java | 8 +-
.../generic/GenericProtobufNativeSchema.java | 4 +-
.../generic/MultiVersionGenericAvroReader.java | 17 +-
.../generic/MultiVersionGenericJsonReader.java | 18 +-
.../MultiVersionGenericProtobufNativeReader.java | 16 +-
.../generic/MultiVersionSchemaInfoProvider.java | 12 +-
.../schema/reader/AbstractMultiVersionReader.java | 18 +-
.../client/impl/schema/reader/AvroReader.java | 8 +-
.../impl/schema/reader/JacksonJsonReader.java | 8 +-
.../client/impl/schema/reader/JsonReader.java | 8 +-
.../impl/schema/reader/MultiVersionAvroReader.java | 20 +-
.../client/impl/schema/reader/ProtobufReader.java | 8 +-
.../tracing/OpenTelemetryConsumerInterceptor.java | 26 +-
.../tracing/OpenTelemetryProducerInterceptor.java | 12 +-
.../impl/transaction/TransactionBuilderImpl.java | 11 +-
.../TransactionCoordinatorClientImpl.java | 15 +-
.../client/impl/transaction/TransactionImpl.java | 16 +-
.../pulsar/client/util/ExecutorProvider.java | 15 +-
.../org/apache/pulsar/client/util/RetryUtil.java | 9 +-
.../client/util/ScheduledExecutorProvider.java | 4 +-
.../client/api/ConsumerConfigurationTest.java | 8 +-
.../impl/AcknowledgementsGroupingTrackerTest.java | 93 +-
.../client/impl/AutoClusterFailoverTest.java | 4 +-
.../impl/ClientCnxRequestTimeoutQueueTest.java | 1 +
.../pulsar/client/impl/ClientTestFixtures.java | 5 +
.../pulsar/client/impl/ConnectionTimeoutTest.java | 6 +-
.../pulsar/client/impl/ConsumerImplTest.java | 32 +
.../apache/pulsar/client/impl/HttpClientTest.java | 150 ++
.../pulsar/client/impl/HttpLookupServiceTest.java | 142 ++
.../pulsar/client/impl/PulsarClientImplTest.java | 80 ++
.../client/impl/schema/AutoConsumeSchemaTest.java | 4 +-
.../pulsar/client/impl/schema/AvroSchemaTest.java | 4 +-
.../pulsar/client/impl/schema/JSONSchemaTest.java | 4 +-
.../client/impl/schema/KeyValueSchemaInfoTest.java | 4 +-
.../client/impl/schema/KeyValueSchemaTest.java | 4 +-
.../client/impl/schema/PrimitiveSchemaTest.java | 8 +-
.../impl/schema/ProtobufNativeSchemaTest.java | 4 +-
.../client/impl/schema/ProtobufSchemaTest.java | 4 +-
.../schema/generic/AbstractGenericSchemaTest.java | 6 +-
.../impl/schema/generic/GenericAvroReaderTest.java | 4 +-
.../generic/GenericProtobufNativeReaderTest.java | 4 +-
.../impl/schema/generic/GenericSchemaImplTest.java | 6 +-
.../impl/schema/generic/GenericSchemaTest.java | 6 +-
.../client/tutorial/SampleAsyncProducer.java | 8 +-
.../tutorial/SampleAsyncProducerWithSchema.java | 8 +-
.../client/tutorial/SampleConsumerListener.java | 6 +-
.../client/tutorial/SampleCryptoConsumer.java | 10 +-
.../client/tutorial/SampleCryptoProducer.java | 8 +-
pulsar-common/build.gradle.kts | 4 +-
.../client/impl/schema/KeyValueSchemaInfo.java | 4 +-
.../common/allocator/PulsarByteBufAllocator.java | 12 +-
.../pulsar/common/api/raw/MessageParser.java | 40 +-
.../common/intercept/BrokerEntryMetadataUtils.java | 28 +-
.../org/apache/pulsar/common/naming/TopicName.java | 169 ++-
.../org/apache/pulsar/common/nar/FileUtils.java | 92 +-
.../apache/pulsar/common/nar/NarClassLoader.java | 16 +-
.../org/apache/pulsar/common/nar/NarUnpacker.java | 21 +-
.../common/policies/data/ClusterDataImpl.java | 4 +-
.../common/policies/data/OffloadPoliciesImpl.java | 6 +-
.../apache/pulsar/common/protocol/Commands.java | 89 +-
.../protocol/OptionalProxyProtocolDecoder.java | 6 +-
.../pulsar/common/protocol/PulsarDecoder.java | 78 +-
.../pulsar/common/protocol/PulsarHandler.java | 38 +-
.../common/sasl/JAASCredentialsContainer.java | 10 +-
.../pulsar/common/sasl/TGTRefreshThread.java | 101 +-
.../apache/pulsar/common/scalable/HashRange.java | 124 ++
.../apache/pulsar/common/scalable/SegmentInfo.java | 98 ++
.../DomainType.java => scalable/SegmentState.java} | 15 +-
.../pulsar/common/scalable/SegmentTopicName.java | 106 ++
.../pulsar/common/scalable}/package-info.java | 6 +-
.../semaphore/AsyncDualMemoryLimiterImpl.java | 6 +-
.../common/semaphore/AsyncSemaphoreImpl.java | 6 +-
.../common/stats/JvmDefaultGCMetricsLogger.java | 10 +-
.../pulsar/common/stats/JvmG1GCMetricsLogger.java | 7 +-
.../org/apache/pulsar/common/stats/JvmMetrics.java | 15 +-
.../pulsar/common/tls/TlsHostnameVerifier.java | 8 +-
.../pulsar/common/topics/TopicsPatternFactory.java | 12 +-
.../pulsar/common/util/ClassLoaderUtils.java | 6 +-
.../org/apache/pulsar/common/util/FieldParser.java | 15 +-
.../common/util/FileModifiedTimeUpdater.java | 7 +-
...GracefulExecutorServicesTerminationHandler.java | 21 +-
.../apache/pulsar/common/util/KeyManagerProxy.java | 18 +-
.../pulsar/common/util/ObjectMapperFactory.java | 15 +-
.../org/apache/pulsar/common/util/RateLimiter.java | 4 +-
.../org/apache/pulsar/common/util/Runnables.java | 7 +-
.../apache/pulsar/common/util/SecurityUtility.java | 41 +-
.../apache/pulsar/common/util/ShutdownUtil.java | 14 +-
...ingleThreadNonConcurrentFixedRateScheduler.java | 6 +-
.../pulsar/common/util/TrustManagerProxy.java | 10 +-
.../util/keystoretls/KeyStoreSSLContext.java | 4 +-
.../keystoretls/SSLContextValidatorEngine.java | 4 +-
.../pulsar/common/util/netty/DnsResolverUtil.java | 9 +-
.../pulsar/common/util/netty/EventLoopUtil.java | 8 +-
pulsar-common/src/main/proto/PulsarApi.proto | 121 ++
.../common/compression/CompressionCodecLZ4JNI.java | 6 +-
.../compression/CompressionCodecSnappyJNI.java | 6 +-
.../apache/pulsar/common/naming/TopicNameTest.java | 205 +++
.../apache/pulsar/common/nar/NarUnpackerTest.java | 16 +-
.../common/protocol/CommandsScalableTopicTest.java | 234 +++
.../pulsar/common/scalable/HashRangeTest.java | 131 ++
.../common/scalable/SegmentTopicNameTest.java | 135 ++
.../stats/JvmDefaultGCMetricsLoggerTest.java | 7 +-
pulsar-config-validation/build.gradle.kts | 4 +-
.../pulsar/config/validation/ValidatorImpls.java | 31 +-
pulsar-dependencies/build.gradle.kts | 4 +-
pulsar-docs-tools/build.gradle.kts | 3 +-
.../docs/tools/BaseGenerateDocumentation.java | 4 +-
pulsar-functions/api-java/build.gradle.kts | 3 +-
pulsar-functions/instance/build.gradle.kts | 3 +-
.../pulsar/functions/instance/ContextImpl.java | 9 +-
.../pulsar/functions/instance/InstanceUtils.java | 10 +-
.../pulsar/functions/instance/JavaInstance.java | 12 +-
.../functions/instance/JavaInstanceRunnable.java | 79 +-
.../functions/instance/ProducerBuilderFactory.java | 4 +-
.../pulsar/functions/instance/ProducerCache.java | 39 +-
.../instance/state/BKStateStoreProviderImpl.java | 63 +-
.../instance/state/InstanceStateManager.java | 13 +-
.../instance/stats/ComponentStatsManager.java | 6 +-
.../instance/stats/FunctionStatsManager.java | 4 +-
.../apache/pulsar/functions/sink/PulsarSink.java | 36 +-
.../pulsar/functions/sink/PulsarSinkDisable.java | 4 +-
.../source/MultiConsumerPulsarSource.java | 13 +-
.../functions/source/PulsarFunctionRecord.java | 10 +-
.../source/SingleConsumerPulsarSource.java | 13 +-
.../pulsar/functions/source/TopicSchema.java | 4 +-
.../source/batch/BatchSourceExecutor.java | 24 +-
.../windowing/WaterMarkEventGenerator.java | 8 +-
.../windowing/WindowFunctionExecutor.java | 13 +-
.../pulsar/functions/windowing/WindowManager.java | 24 +-
.../windowing/evictors/TimeEvictionPolicy.java | 11 +-
.../windowing/triggers/TimeTriggerPolicy.java | 8 +-
.../triggers/WatermarkTimeTriggerPolicy.java | 25 +-
.../instance/JavaInstanceRunnableTest.java | 6 +-
.../functions/instance/JavaInstanceTest.java | 24 +-
.../pulsar/functions/sink/PulsarSinkTest.java | 8 +-
.../pulsar/functions/source/PulsarSourceTest.java | 12 +-
.../pulsar/functions/source/TopicSchemaTest.java | 4 +-
.../functions/windowing/WindowManagerTest.java | 4 +-
.../java-examples-builtin/build.gradle.kts | 3 +
pulsar-functions/java-examples/build.gradle.kts | 1 +
.../functions/api/examples/AddWindowFunction.java | 4 +-
.../api/examples/AvroSchemaTestFunction.java | 6 +-
.../api/examples/InitializableFunction.java | 4 +-
.../functions/api/examples/MergeTopicFunction.java | 7 +-
.../api/examples/window/ContextWindowFunction.java | 4 +-
pulsar-functions/localrun-shaded/build.gradle.kts | 2 +-
pulsar-functions/localrun/build.gradle.kts | 3 +-
.../org/apache/pulsar/functions/LocalRunner.java | 15 +-
.../localrun/src/main/resources/log4j2.xml | 2 +-
pulsar-functions/proto/build.gradle.kts | 2 +-
.../src/main/resources/java_instance_log4j2.xml | 6 +-
.../main/resources/kubernetes_instance_log4j2.xml | 2 +-
.../functions/instance/JavaInstanceDepsTest.java | 3 +-
pulsar-functions/runtime/build.gradle.kts | 3 +-
.../auth/KubernetesSecretsTokenAuthProvider.java | 14 +-
.../functions/runtime/JavaInstanceStarter.java | 21 +-
.../pulsar/functions/runtime/RuntimeSpawner.java | 27 +-
.../pulsar/functions/runtime/RuntimeUtils.java | 8 +-
.../BasicKubernetesManifestCustomizer.java | 13 +-
.../runtime/kubernetes/KubernetesRuntime.java | 30 +-
.../kubernetes/KubernetesRuntimeFactory.java | 19 +-
.../functions/runtime/process/ProcessRuntime.java | 45 +-
.../runtime/process/ProcessRuntimeFactory.java | 19 +-
.../functions/runtime/thread/ThreadRuntime.java | 42 +-
.../runtime/thread/ThreadRuntimeFactory.java | 14 +-
.../pulsar/functions/worker/ConnectorsManager.java | 6 +-
.../pulsar/functions/worker/FunctionsManager.java | 6 +-
.../pulsar/functions/runtime/RuntimeUtilsTest.java | 6 +-
.../runtime/thread/ThreadRuntimeFactoryTest.java | 4 +-
pulsar-functions/secrets/build.gradle.kts | 2 +-
pulsar-functions/utils/build.gradle.kts | 3 +-
.../org/apache/pulsar/functions/utils/Actions.java | 29 +-
.../pulsar/functions/utils/FunctionCommon.java | 10 +-
.../functions/utils/FunctionConfigUtils.java | 4 +-
.../pulsar/functions/utils/SinkConfigUtils.java | 8 +-
.../pulsar/functions/utils/SourceConfigUtils.java | 7 +-
.../pulsar/functions/utils/ValidatorUtils.java | 4 +-
.../utils/functioncache/FunctionCacheEntry.java | 8 +-
.../functions/utils/functions/FunctionUtils.java | 12 +-
.../pulsar/functions/utils/io/ConnectorUtils.java | 16 +-
.../functions/utils/FunctionConfigUtilsTest.java | 4 +-
pulsar-functions/worker/build.gradle.kts | 4 +-
.../worker/ClusterServiceCoordinator.java | 13 +-
.../worker/ErrorNotifierShutdownServiceImpl.java | 6 +-
.../pulsar/functions/worker/FunctionActioner.java | 84 +-
.../functions/worker/FunctionAssignmentTailer.java | 15 +-
.../functions/worker/FunctionMetaDataManager.java | 49 +-
.../worker/FunctionMetaDataTopicTailer.java | 12 +-
.../functions/worker/FunctionRuntimeManager.java | 48 +-
.../functions/worker/FunctionWorkerStarter.java | 6 +-
.../functions/worker/FunctionsStatsGenerator.java | 18 +-
.../pulsar/functions/worker/LeaderService.java | 17 +-
.../pulsar/functions/worker/MembershipManager.java | 27 +-
.../functions/worker/PulsarWorkerService.java | 119 +-
.../pulsar/functions/worker/SchedulerManager.java | 87 +-
.../org/apache/pulsar/functions/worker/Worker.java | 11 +-
.../pulsar/functions/worker/WorkerUtils.java | 55 +-
.../pulsar/functions/worker/rest/WorkerServer.java | 20 +-
.../functions/worker/rest/api/ComponentImpl.java | 393 ++++--
.../functions/worker/rest/api/FunctionsImpl.java | 121 +-
.../functions/worker/rest/api/FunctionsImplV2.java | 4 +-
.../functions/worker/rest/api/SinksImpl.java | 118 +-
.../functions/worker/rest/api/SourcesImpl.java | 107 +-
.../functions/worker/rest/api/WorkerImpl.java | 57 +-
.../worker/rest/api/v2/FunctionsApiV2Resource.java | 4 +-
.../worker/rest/api/v2/WorkerApiV2Resource.java | 4 +-
.../rest/api/v2/WorkerStatsApiV2Resource.java | 4 +-
.../worker/rest/api/v3/FunctionsApiV3Resource.java | 4 +-
.../worker/rest/api/v3/SinksApiV3Resource.java | 4 +-
.../worker/rest/api/v3/SourcesApiV3Resource.java | 4 +-
.../worker/scheduler/RoundRobinScheduler.java | 6 +-
.../worker/service/WorkerServiceLoader.java | 14 +-
.../service/WorkerServiceWithClassLoader.java | 6 +-
.../worker/FunctionAssignmentTailerTest.java | 4 +-
.../worker/FunctionMetaDataTopicTailerTest.java | 4 +-
.../worker/FunctionRuntimeManagerTest.java | 9 +-
.../functions/worker/MembershipManagerTest.java | 6 +
.../functions/worker/SchedulerManagerTest.java | 8 +-
.../worker/executor/MockExecutorController.java | 4 +-
.../worker/scheduler/RoundRobinSchedulerTest.java | 4 +-
pulsar-io/batch-data-generator/build.gradle.kts | 1 +
.../BatchDataGeneratorPrintSink.java | 6 +-
.../BatchDataGeneratorPushSource.java | 9 +-
.../BatchDataGeneratorSource.java | 4 +-
.../batch-discovery-triggerers/build.gradle.kts | 3 +-
.../pulsar/io/batchdiscovery/CronTriggerer.java | 6 +-
.../io/batchdiscovery/ImmediateTriggerer.java | 6 +-
pulsar-io/common/build.gradle.kts | 3 +-
.../org/apache/pulsar/io/common/IOConfigUtils.java | 7 +-
.../apache/pulsar/io/common/IOConfigUtilsTest.java | 4 +-
pulsar-io/core/build.gradle.kts | 2 +-
pulsar-io/data-generator/build.gradle.kts | 1 +
.../io/datagenerator/DataGeneratorPrintSink.java | 6 +-
pulsar-metadata/build.gradle.kts | 3 +-
.../apache/pulsar/metadata/api/MetadataStore.java | 12 +-
.../AbstractHierarchicalLedgerManager.java | 10 +-
.../pulsar/metadata/bookkeeper/BKCluster.java | 19 +-
.../bookkeeper/BookieServiceInfoSerde.java | 8 +-
.../bookkeeper/HierarchicalLedgerUtils.java | 7 +-
.../LegacyHierarchicalLedgerRangeIterator.java | 11 +-
.../bookkeeper/LongHierarchicalLedgerManager.java | 4 +-
.../LongHierarchicalLedgerRangeIterator.java | 14 +-
.../bookkeeper/PulsarLedgerAuditorManager.java | 6 +-
.../bookkeeper/PulsarLedgerIdGenerator.java | 24 +-
.../metadata/bookkeeper/PulsarLedgerManager.java | 90 +-
.../bookkeeper/PulsarLedgerManagerFactory.java | 12 +-
.../PulsarLedgerUnderreplicationManager.java | 126 +-
.../bookkeeper/PulsarRegistrationClient.java | 22 +-
.../bookkeeper/PulsarRegistrationManager.java | 56 +-
.../metadata/cache/impl/MetadataCacheImpl.java | 36 +-
.../coordination/impl/CoordinationServiceImpl.java | 13 +-
.../coordination/impl/LeaderElectionImpl.java | 59 +-
.../coordination/impl/LockManagerImpl.java | 8 +-
.../coordination/impl/MigrationCoordinator.java | 20 +-
.../coordination/impl/ResourceLockImpl.java | 39 +-
.../metadata/impl/AbstractMetadataStore.java | 33 +-
.../pulsar/metadata/impl/DualMetadataStore.java | 21 +-
.../metadata/impl/LocalMemoryMetadataStore.java | 6 +-
.../metadata/impl/MetadataStoreFactoryImpl.java | 7 +-
.../metadata/impl/PulsarZooKeeperClient.java | 40 +-
.../pulsar/metadata/impl/RocksdbMetadataStore.java | 64 +-
.../pulsar/metadata/impl/ZKMetadataStore.java | 24 +-
.../pulsar/metadata/impl/ZKSessionWatcher.java | 16 +-
.../batching/AbstractBatchedMetadataStore.java | 4 +-
.../metadata/impl/oxia/OxiaMetadataStore.java | 6 +-
.../tableview/impl/MetadataStoreTableViewImpl.java | 73 +-
.../bookkeeper/replication/AuditorBookieTest.java | 29 +-
.../AuditorCheckAllLedgersTaskTest.java | 6 +-
.../replication/AuditorLedgerCheckerTest.java | 130 +-
.../AuditorPeriodicBookieCheckTest.java | 6 +-
.../replication/AuditorPeriodicCheckTest.java | 27 +-
.../AuditorPlacementPolicyCheckTaskTest.java | 6 +-
.../replication/AuditorReplicasCheckTaskTest.java | 6 +-
.../replication/AuthAutoRecoveryTest.java | 7 +-
.../replication/BookKeeperClusterTestCase.java | 58 +-
.../replication/BookieAutoRecoveryTest.java | 83 +-
.../replication/BookieLedgerIndexTest.java | 18 +-
.../replication/TestReplicationWorker.java | 44 +-
.../bookkeeper/replication/ZooKeeperUtil.java | 13 +-
.../pulsar/metadata/DualMetadataCacheTest.java | 4 +-
.../pulsar/metadata/DualMetadataStoreTest.java | 8 +-
.../apache/pulsar/metadata/MetadataBenchmark.java | 17 +-
.../apache/pulsar/metadata/MetadataCacheTest.java | 6 +-
.../pulsar/metadata/MetadataStoreBatchingTest.java | 8 +-
.../metadata/MetadataStoreTableViewTest.java | 8 +-
.../apache/pulsar/metadata/MetadataStoreTest.java | 8 +-
.../pulsar/metadata/MigrationCoordinatorTest.java | 6 +-
.../metadata/OxiaMetadataStoreErrorTest.java | 4 +-
.../org/apache/pulsar/metadata/TestZKServer.java | 9 +-
.../pulsar/metadata/bookkeeper/EndToEndTest.java | 6 +-
.../FaultInjectableZKRegistrationManager.java | 80 +-
.../bookkeeper/LedgerManagerIteratorTest.java | 20 +-
.../LedgerUnderreplicationManagerTest.java | 18 +-
.../bookkeeper/PulsarLayoutManagerTest.java | 4 +-
.../bookkeeper/PulsarLedgerAuditorManagerTest.java | 10 +-
.../bookkeeper/PulsarLedgerIdGeneratorTest.java | 16 +-
.../bookkeeper/PulsarRegistrationClientTest.java | 4 +-
.../bookkeeper/PulsarRegistrationManagerTest.java | 6 +-
.../metadata/impl/RocksdbMetadataStoreTest.java | 12 +-
pulsar-opentelemetry/build.gradle.kts | 2 +-
.../bookkeeper-storage/build.gradle.kts | 3 +-
.../bookkeeper/BookKeeperPackagesStorage.java | 7 +-
.../storage/bookkeeper/DLOutputStream.java | 9 +-
.../bookkeeper/test/BookKeeperClusterTestCase.java | 61 +-
.../bookkeeper/test/MockedBookKeeperTestCase.java | 17 +-
.../bookkeeper/bookkeeper/test/ZooKeeperUtil.java | 14 +-
pulsar-package-management/core/build.gradle.kts | 5 +-
.../core/common/PackageMetadataUtil.java | 116 +-
.../core/impl/PackagesManagementImpl.java | 46 +-
.../core/common/PackageMetadataSerdeTest.java | 105 +-
.../core/impl/PackagesManagementImplTest.java | 4 +-
.../filesystem-storage/build.gradle.kts | 4 +-
.../filesystem/FileSystemPackagesStorage.java | 6 +-
.../filesystem/FileSystemPackagesStorageTest.java | 6 +-
pulsar-proxy/build.gradle.kts | 3 +-
.../extensions/ProxyExtensionWithClassLoader.java | 6 +-
.../pulsar/proxy/extensions/ProxyExtensions.java | 19 +-
.../proxy/extensions/ProxyExtensionsUtils.java | 19 +-
.../pulsar/proxy/server/AdminProxyHandler.java | 28 +-
.../proxy/server/BrokerDiscoveryProvider.java | 8 +-
.../pulsar/proxy/server/BrokerProxyValidator.java | 4 +-
.../pulsar/proxy/server/DirectProxyHandler.java | 53 +-
.../pulsar/proxy/server/LookupProxyHandler.java | 158 ++-
.../pulsar/proxy/server/ParserProxyHandler.java | 24 +-
.../apache/pulsar/proxy/server/ProxyClientCnx.java | 16 +-
.../pulsar/proxy/server/ProxyConnection.java | 225 +--
.../apache/pulsar/proxy/server/ProxyService.java | 46 +-
.../pulsar/proxy/server/ProxyServiceStarter.java | 57 +-
.../proxy/server/ServiceChannelInitializer.java | 7 +-
.../org/apache/pulsar/proxy/server/WebServer.java | 21 +-
.../org/apache/pulsar/proxy/stats/ProxyStats.java | 17 +-
.../proxy/util/CmdGenerateDocumentation.java | 4 +-
.../impl/AutoCloseUselessClientConProxyTest.java | 4 +-
.../extensions/SimpleProxyExtensionTestBase.java | 6 +-
.../proxy/server/AuthedAdminProxyHandlerTest.java | 5 +-
.../proxy/server/ProxyAdditionalServletTest.java | 17 +-
.../ProxyAuthenticatedProducerConsumerTest.java | 17 +-
.../proxy/server/ProxyAuthenticationTest.java | 13 +-
.../server/ProxyConnectionThrottlingTest.java | 4 +-
.../server/ProxyEnableHAProxyProtocolTest.java | 6 +-
.../proxy/server/ProxyForwardAuthDataTest.java | 9 +-
.../pulsar/proxy/server/ProxyIsAHttpProxyTest.java | 10 +-
.../server/ProxyKeyStoreTlsTransportTest.java | 4 +-
.../proxy/server/ProxyKeyStoreTlsWithAuthTest.java | 4 +-
.../server/ProxyKeyStoreTlsWithoutAuthTest.java | 4 +-
.../proxy/server/ProxyMultiBrokerBaseTest.java | 4 +-
.../proxy/server/ProxyOriginalClientIPTest.java | 20 +-
.../pulsar/proxy/server/ProxyParserTest.java | 14 +-
...nConsumerBackPressureMultipleConsumersTest.java | 4 +-
.../pulsar/proxy/server/ProxyRedirectTest.java | 4 +-
.../pulsar/proxy/server/ProxyRefreshAuthTest.java | 8 +-
.../proxy/server/ProxyRolesEnforcementTest.java | 9 +-
.../proxy/server/ProxyStuckConnectionTest.java | 19 +-
.../org/apache/pulsar/proxy/server/ProxyTest.java | 14 +-
.../server/ProxyWithAuthorizationNegTest.java | 21 +-
.../proxy/server/ProxyWithAuthorizationTest.java | 53 +-
.../server/ProxyWithExtensibleLoadManagerTest.java | 4 +-
.../server/ProxyWithJwtAuthorizationTest.java | 69 +-
.../server/ProxyWithoutServiceDiscoveryTest.java | 17 +-
pulsar-proxy/src/test/resources/log4j2.xml | 2 +-
pulsar-testclient/build.gradle.kts | 3 +-
.../proxy/socket/client/PerformanceClient.java | 85 +-
.../socket/client/SimpleTestProducerSocket.java | 8 +-
.../apache/pulsar/testclient/BrokerMonitor.java | 15 +-
.../testclient/CmdGenerateDocumentation.java | 4 +-
.../pulsar/testclient/LoadSimulationClient.java | 7 +-
.../testclient/LoadSimulationController.java | 18 +-
.../pulsar/testclient/ManagedLedgerWriter.java | 91 +-
.../apache/pulsar/testclient/PerfClientUtils.java | 20 +-
.../pulsar/testclient/PerformanceConsumer.java | 159 ++-
.../pulsar/testclient/PerformanceProducer.java | 166 ++-
.../pulsar/testclient/PerformanceReader.java | 69 +-
.../pulsar/testclient/PerformanceTransaction.java | 221 ++-
.../Oauth2PerformanceTransactionTest.java | 9 +-
.../pulsar/testclient/PerformanceProducerTest.java | 6 +-
.../testclient/PerformanceTransactionTest.java | 6 +-
pulsar-transaction/common/build.gradle.kts | 2 +-
pulsar-transaction/coordinator/build.gradle.kts | 4 +-
.../coordinator/impl/MLTransactionLogImpl.java | 28 +-
.../impl/MLTransactionMetadataStore.java | 35 +-
.../impl/MLTransactionSequenceIdGenerator.java | 6 +-
.../coordinator/impl/TxnLogBufferedWriter.java | 36 +-
.../TransactionMetadataStoreProviderTest.java | 8 +
.../coordinator/impl/TxnLogBufferedWriterTest.java | 4 +-
.../coordinator/test/MockedBookKeeperTestCase.java | 17 +-
pulsar-websocket/build.gradle.kts | 3 +-
.../pulsar/websocket/AbstractWebSocketHandler.java | 107 +-
.../apache/pulsar/websocket/ConsumerHandler.java | 187 ++-
.../websocket/MultiTopicConsumerHandler.java | 19 +-
.../apache/pulsar/websocket/ProducerHandler.java | 114 +-
.../org/apache/pulsar/websocket/ReaderHandler.java | 135 +-
.../apache/pulsar/websocket/WebSocketService.java | 8 +-
.../websocket/admin/WebSocketProxyStatsBase.java | 9 +-
.../websocket/admin/WebSocketWebResource.java | 15 +-
.../pulsar/websocket/service/ProxyServer.java | 18 +-
.../websocket/service/WebSocketServiceStarter.java | 10 +-
.../apache/pulsar/websocket/stats/ProxyStats.java | 36 +-
settings.gradle.kts | 21 +-
structured-event-log/build.gradle.kts | 32 -
.../apache/pulsar/structuredeventlog/Event.java | 181 ---
.../pulsar/structuredeventlog/EventGroup.java | 27 -
.../pulsar/structuredeventlog/EventResources.java | 52 -
.../structuredeventlog/EventResourcesImpl.java | 85 --
.../pulsar/structuredeventlog/Initializer.java | 44 -
.../structuredeventlog/StructuredEventLog.java | 89 --
.../structuredeventlog/log4j2/Log4j2Event.java | 208 ---
.../log4j2/Log4j2StructuredEventLog.java | 46 -
.../structuredeventlog/log4j2/package-info.java | 19 -
.../pulsar/structuredeventlog/package-info.java | 19 -
.../structuredeventlog/slf4j/Slf4jEvent.java | 246 ----
.../slf4j/Slf4jStructuredEventLog.java | 46 -
.../structuredeventlog/slf4j/package-info.java | 19 -
.../slf4j/StructuredEventLogTest.java | 438 ------
testmocks/build.gradle.kts | 3 +-
.../client/PulsarBookKeeperTestClient.java | 9 +-
.../bookkeeper/client/PulsarMockBookKeeper.java | 14 +-
.../bookkeeper/client/PulsarMockLedgerHandle.java | 38 +-
.../bookkeeper/client/PulsarMockReadHandle.java | 9 +-
.../org/apache/bookkeeper/test/ServerTester.java | 12 +-
.../java/org/apache/zookeeper/MockZooKeeper.java | 54 +-
.../java-test-functions/build.gradle.kts | 1 +
.../functions/GenericObjectFunction.java | 11 +-
.../functions/RemoveAvroFieldFunction.java | 17 +-
.../functions/RemoveAvroFieldRecordFunction.java | 17 +-
.../tests/integration/io/GenericRecordSource.java | 9 +-
.../integration/io/TestGenericObjectSink.java | 62 +-
.../docker-images/java-test-image/build.gradle.kts | 4 -
.../java-test-plugins/build.gradle.kts | 2 +-
.../plugins/LoggingBrokerInterceptor.java | 11 +-
.../latest-version-image/build.gradle.kts | 4 -
tests/integration/build.gradle.kts | 1 +
.../pulsar/tests/integration/admin/AdminTest.java | 6 +-
.../token/PulsarTokenAuthenticationBaseSuite.java | 13 +-
.../auth/token/TokenAuthWithPublicPrivateKeys.java | 10 +-
.../auth/token/TokenAuthWithSymmetricKeys.java | 12 +-
...BookkeeperInstallWithHttpServerEnabledTest.java | 13 +-
...erInstallWithEntryMetadataInterceptorsTest.java | 13 +-
.../cli/ClusterMetadataTearDownTest.java | 12 +-
.../tests/integration/cli/FunctionsCLITest.java | 4 +-
.../integration/cli/SchemaUpdateStrategyTest.java | 13 +-
.../integration/compaction/TestCompaction.java | 8 +-
.../integration/containers/ChaosContainer.java | 4 +-
.../integration/containers/PulsarContainer.java | 22 +-
.../containers/PulsarInitMetadataContainer.java | 11 +-
.../tests/integration/containers/S3Container.java | 4 +-
.../integration/containers/ScyllaDBContainer.java | 4 +-
.../containers/StandaloneContainer.java | 2 +-
.../integration/functions/PulsarFunctionsTest.java | 180 ++-
.../functions/PulsarFunctionsTestBase.java | 12 +-
.../functions/PulsarMetadataStateStoreTest.java | 12 +-
.../integration/functions/PulsarStateTest.java | 8 +-
.../java/PulsarWorkerRebalanceDrainTest.java | 132 +-
.../functions/k8s/PulsarFunctionsK8STest.java | 4 +-
.../io/PulsarGenericObjectSinkTest.java | 29 +-
.../io/SinkWithTransformFunctionTest.java | 18 +-
.../integration/io/sources/BatchSourceTest.java | 12 +-
.../io/sources/DataGeneratorSourceTest.java | 8 +-
.../io/sources/GenericRecordSourceTest.java | 14 +-
.../io/sources/PulsarSourcePropertyTest.java | 6 +-
.../k8s/AbstractPulsarStandaloneK8STest.java | 24 +-
.../loadbalance/ExtensibleLoadManagerTest.java | 77 +-
.../integration/messaging/DelayMessagingTest.java | 6 +-
.../integration/messaging/GeoReplicationTest.java | 28 +-
.../tests/integration/messaging/MessagingBase.java | 16 +-
.../messaging/NonPersistentTopicMessagingTest.java | 4 +-
.../messaging/PersistentTopicMessagingTest.java | 4 +-
.../integration/messaging/ReaderMessagingTest.java | 12 +-
.../integration/messaging/TopicMessagingBase.java | 36 +-
.../tests/integration/offload/TestBaseOffload.java | 10 +-
.../integration/offload/TestFileSystemOffload.java | 4 +-
.../integration/offload/TestOffloadDeletionFS.java | 25 +-
.../tests/integration/offload/TestS3Offload.java | 4 +-
.../offload/TestUniversalConfigurations.java | 4 +-
.../tests/integration/oxia/OxiaSmokeTest.java | 4 +-
.../integration/plugins/TestProtocolHandlers.java | 12 +-
.../integration/profiling/PulsarProfilingTest.java | 6 +-
.../pulsar/tests/integration/proxy/TestProxy.java | 5 +-
.../tests/integration/schema/JodaTimeTest.java | 6 +-
.../tests/integration/schema/SchemaTest.java | 20 +-
.../tests/integration/semantics/SemanticsTest.java | 10 +-
.../suites/PulsarTieredStorageTestSuite.java | 4 +-
.../integration/topics/TestTopicDeletion.java | 10 +-
.../integration/topologies/PulsarCluster.java | 64 +-
.../topologies/PulsarClusterTestBase.java | 13 +-
.../integration/topologies/PulsarGeoCluster.java | 12 +-
.../topologies/PulsarGeoClusterTestBase.java | 6 +-
.../topologies/PulsarStandaloneTestBase.java | 18 +-
.../integration/transaction/TransactionTest.java | 9 +-
.../transaction/TransactionTestBase.java | 4 +-
.../upgrade/PulsarUpgradeDowngradeTest.java | 40 +-
.../integration/upgrade/PulsarZKDowngradeTest.java | 13 +-
.../tests/integration/utils/DockerUtils.java | 71 +-
.../integration/websocket/WebSocketTestSuite.java | 11 +-
.../build.gradle.kts | 1 +
.../pulsar/tests/integration/PulsarContainer.java | 2 +-
.../integration/SimpleProducerConsumerTest.java | 13 +-
.../pulsar-client-all-shade-test/build.gradle.kts | 1 +
.../pulsar/tests/integration/PulsarContainer.java | 2 +-
.../integration/SimpleProducerConsumerTest.java | 13 +-
tests/pulsar-client-shade-test/build.gradle.kts | 1 +
.../pulsar/tests/integration/PulsarContainer.java | 2 +-
.../integration/SimpleProducerConsumerTest.java | 13 +-
tiered-storage/file-system/build.gradle.kts | 1 +
.../impl/FileStoreBackedReadHandleImpl.java | 21 +-
.../impl/FileSystemManagedLedgerOffloader.java | 29 +-
tiered-storage/jcloud/build.gradle.kts | 1 +
.../impl/BlobStoreBackedInputStreamImpl.java | 17 +-
.../jcloud/impl/BlobStoreBackedReadHandleImpl.java | 115 +-
.../impl/BlobStoreBackedReadHandleImplV2.java | 31 +-
.../impl/BlobStoreManagedLedgerOffloader.java | 106 +-
.../impl/BlockAwareSegmentInputStreamImpl.java | 14 +-
.../offload/jcloud/impl/BufferedOffloadStream.java | 4 +-
.../offload/jcloud/impl/OffloadIndexBlockImpl.java | 12 +-
.../jcloud/impl/OffloadIndexBlockV2Impl.java | 10 +-
.../jcloud/provider/JCloudBlobStoreProvider.java | 20 +-
.../provider/TieredStorageConfiguration.java | 6 +-
.../jcloud/BlobStoreBackedInputStreamTest.java | 19 +-
.../mledger/offload/jcloud/BlobStoreTestBase.java | 15 +-
...obStoreManagedLedgerOffloaderStreamingTest.java | 12 +-
.../impl/BlobStoreManagedLedgerOffloaderTest.java | 12 +-
.../impl/BlockAwareSegmentInputStreamTest.java | 4 +-
.../offload/jcloud/impl/DataBlockHeaderTest.java | 4 +-
.../offload/jcloud/impl/DataBlockHeaderV2Test.java | 4 +-
.../offload/jcloud/impl/MockManagedLedger.java | 4 +-
.../offload/jcloud/impl/OffloadIndexTest.java | 14 +-
.../offload/jcloud/impl/OffloadIndexV2Test.java | 28 +-
.../offload/jcloud/impl/OffsetsCacheTest.java | 4 +-
.../jcloud/src/test/resources/log4j2-test.yml | 4 +-
1542 files changed, 46237 insertions(+), 21321 deletions(-)
delete mode 100644 .github/workflows/ci-documentbot.yml
create mode 100644
build-logic/conventions/src/main/kotlin/pulsar.public-java-library-conventions.gradle.kts
create mode 100644
build-logic/conventions/src/main/kotlin/pulsar.publish-conventions.gradle.kts
create mode 100644 conf/OtelLogLayout.json
create mode 100755 gradle/setup-test-gpg.sh
create mode 100644
microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket/BucketDelayedDeliveryTrackerBenchmark.java
delete mode 100644
microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket/BucketDelayedDeliveryTrackerSimpleBenchmark.java
create mode 100644
microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket/MockBucketSnapshotStorage.java
create mode 100644
microbench/src/main/java/org/apache/pulsar/broker/naming/TopicNameGetBenchmark.java
copy {bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader =>
microbench/src/main/java/org/apache/pulsar/broker/naming}/package-info.java
(83%)
create mode 100644 pip/pip-460.md
create mode 100644 pip/pip-467.md
create mode 100644 pip/pip-468.md
create mode 100644 pip/pip-471.md
create mode 100644
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ConsumerRegistration.java
copy
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/functions/ConsumerConfig.java
=>
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ScalableTopicMetadata.java
(55%)
create mode 100644
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/ScalableTopicResources.java
copy
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/{package-info.java
=> SubscriptionMetadata.java} (56%)
copy
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/resources/{package-info.java
=> SubscriptionType.java} (51%)
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/ScalableTopics.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/v2/Segments.java
copy
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/{package-info.java
=> DelayedDeliveryContext.java} (79%)
copy
pulsar-client-tools/src/main/java/org/apache/pulsar/shell/ClientShell.java =>
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/DispatcherDelayedDeliveryContext.java
(54%)
copy
pulsar-functions/instance/src/main/java/org/apache/pulsar/functions/windowing/EventImpl.java
=>
pulsar-broker/src/main/java/org/apache/pulsar/broker/delayed/NoopDelayedDeliveryContext.java
(57%)
copy
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/CustomCommandFactory.java
=>
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ConsumerAssignment.java
(54%)
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ConsumerSession.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/DagWatchSession.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ScalableTopicController.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ScalableTopicLayoutResponse.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/ScalableTopicService.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/SegmentLayout.java
create mode 100644
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable/SubscriptionCoordinator.java
copy {buildtools/src/main/java/org/apache/pulsar/tests =>
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/scalable}/package-info.java
(94%)
create mode 100644
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ConsumerSessionTest.java
create mode 100644
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/DagWatchSessionTest.java
create mode 100644
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ScalableTopicControllerTest.java
create mode 100644
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/ScalableTopicServiceTest.java
create mode 100644
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/SegmentLayoutTest.java
create mode 100644
pulsar-broker/src/test/java/org/apache/pulsar/broker/service/scalable/SubscriptionCoordinatorTest.java
create mode 100644
pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/ScalableTopics.java
copy
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/{InactiveTopicDeleteMode.java
=> ScalableSubscriptionType.java} (53%)
create mode 100644
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/ScalableTopicMetadata.java
create mode 100644
pulsar-client-admin-api/src/main/java/org/apache/pulsar/common/policies/data/ScalableTopicStats.java
create mode 100644
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableSubscriptionTypeTest.java
create mode 100644
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableTopicMetadataTest.java
create mode 100644
pulsar-client-admin-api/src/test/java/org/apache/pulsar/common/policies/data/ScalableTopicStatsTest.java
create mode 100644
pulsar-client-admin/src/main/java/org/apache/pulsar/client/admin/internal/ScalableTopicsImpl.java
copy {pulsar-client-api => pulsar-client-api-v5}/build.gradle.kts (100%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Checkpoint.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/CheckpointConsumer.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/CheckpointConsumerBuilder.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Message.java
copy
pulsar-common/src/main/java/org/apache/pulsar/common/stats/JvmGCMetricsLogger.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/MessageBuilder.java
(53%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/MessageId.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/MessageMetadata.java
copy {pulsar-client-api/src/main/java/org/apache/pulsar/client/api =>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5}/Messages.java
(67%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Producer.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/ProducerBuilder.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/PulsarClient.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/PulsarClientBuilder.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/PulsarClientException.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/QueueConsumer.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/QueueConsumerBuilder.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/StreamConsumer.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/StreamConsumerBuilder.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/Transaction.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncCheckpointConsumer.java
copy
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/reporter/LoadDataReporter.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncMessageBuilder.java
(54%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncProducer.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncQueueConsumer.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncStreamConsumer.java
copy
pulsar-client-admin-api/src/main/java/org/apache/pulsar/client/admin/MetadataMigration.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/AsyncTransaction.java
(52%)
copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/async/package-info.java
(65%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/Authentication.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/AuthenticationData.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/AuthenticationFactory.java
copy
pulsar-common/src/main/java/org/apache/pulsar/common/io/ConfigFieldDefinition.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/CryptoFailureAction.java
(66%)
copy
pulsar-client-admin-api/src/main/java/org/apache/pulsar/policies/data/loadbalancer/ServiceLookupData.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/CryptoKeyReader.java
(52%)
copy
pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/plugin/servlet/AdditionalServletDefinitions.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/EncryptionKeyInfo.java
(63%)
copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/auth/package-info.java
(67%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/BackoffPolicy.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/BatchingPolicy.java
copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/ChunkingPolicy.java
(71%)
copy
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/MessagePayload.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/CompressionPolicy.java
(54%)
copy
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/CustomCommand.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/CompressionType.java
(50%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/ConnectionPolicy.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/DeadLetterPolicy.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/EncryptionPolicy.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/MemorySize.java
copy {pulsar-client-api/src/main/java/org/apache/pulsar/client/api =>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config}/ProducerAccessMode.java
(59%)
copy
pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/LoadRanker.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/ProxyProtocol.java
(85%)
copy
pulsar-broker-common/src/main/java/org/apache/pulsar/common/configuration/PropertyContext.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/SubscriptionInitialPosition.java
(70%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/TlsPolicy.java
copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/TransactionPolicy.java
(69%)
copy pulsar-common/src/main/java/org/apache/pulsar/common/tls/DomainType.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/config/package-info.java
(64%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/internal/PulsarClientProvider.java
copy {pulsar-broker-common/src/main/java/org/apache/pulsar/broker/limiter =>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/internal}/package-info.java
(91%)
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/package-info.java
create mode 100644
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema/Schema.java
copy
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/CustomCommand.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema/SchemaInfo.java
(56%)
copy
pulsar-client-tools-api/src/main/java/org/apache/pulsar/admin/cli/extensions/ParameterType.java
=>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema/SchemaType.java
(72%)
copy {microbench/src/main/java/org/apache/pulsar/broker/delayed/bucket =>
pulsar-client-api-v5/src/main/java/org/apache/pulsar/client/api/v5/schema}/package-info.java
(70%)
create mode 100644
pulsar-client-api-v5/src/test/java/org/apache/pulsar/client/api/v5/Examples.java
copy
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/{TopicMetadata.java
=> MemoryLimitConfig.java} (60%)
copy
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/{TopicMetadata.java
=> OpenTelemetryConfig.java} (64%)
create mode 100644
pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdScalableTopics.java
copy {pulsar-client-auth-athenz => pulsar-client-v5}/build.gradle.kts (72%)
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncCheckpointConsumerV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncMessageBuilderV5.java
copy
pulsar-metadata/src/main/java/org/apache/pulsar/metadata/impl/batching/OpGet.java
=>
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncProducerV5.java
(54%)
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncQueueConsumerV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AsyncStreamConsumerV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/AuthenticationAdapter.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CheckpointConsumerBuilderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CheckpointV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ClientSegmentLayout.java
copy
pulsar-client-api/src/main/java/org/apache/pulsar/client/api/DummyCryptoKeyReaderImpl.java
=>
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/CryptoKeyReaderAdapter.java
(50%)
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/DagWatchClient.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessageBuilderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessageIdV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessageV5.java
copy
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/RedeliveryTrackerDisabled.java
=>
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/MessagesV5.java
(52%)
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ProducerBuilderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/PulsarClientBuilderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/PulsarClientProviderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/PulsarClientV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/QueueConsumerBuilderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableCheckpointConsumer.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableQueueConsumer.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableStreamConsumer.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/ScalableTopicProducer.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/SchemaAdapter.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/SegmentRouter.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/StreamConsumerBuilderV5.java
create mode 100644
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5/V5Utils.java
copy {buildtools/src/main/java/org/apache/pulsar/tests =>
pulsar-client-v5/src/main/java/org/apache/pulsar/client/impl/v5}/package-info.java
(95%)
create mode 100644
pulsar-client-v5/src/main/resources/META-INF/services/org.apache.pulsar.client.api.v5.internal.PulsarClientProvider
create mode 100644
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/CheckpointV5Test.java
create mode 100644
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/ClientSegmentLayoutTest.java
create mode 100644
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/MessageIdV5Test.java
create mode 100644
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/SegmentRouterTest.java
create mode 100644
pulsar-client-v5/src/test/java/org/apache/pulsar/client/impl/v5/V5UtilsTest.java
copy
pulsar-client/src/main/java/org/apache/pulsar/client/impl/{PartitionsChangedListener.java
=> DagWatchSession.java} (55%)
create mode 100644
pulsar-client/src/test/java/org/apache/pulsar/client/impl/HttpClientTest.java
create mode 100644
pulsar-client/src/test/java/org/apache/pulsar/client/impl/HttpLookupServiceTest.java
create mode 100644
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/HashRange.java
create mode 100644
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/SegmentInfo.java
copy pulsar-common/src/main/java/org/apache/pulsar/common/{tls/DomainType.java
=> scalable/SegmentState.java} (68%)
create mode 100644
pulsar-common/src/main/java/org/apache/pulsar/common/scalable/SegmentTopicName.java
copy
{jetty-upgrade/bookkeeper-prometheus-metrics-provider/src/main/java/org/apache/pulsar/metrics/prometheus/bookkeeper
=>
pulsar-common/src/main/java/org/apache/pulsar/common/scalable}/package-info.java
(83%)
create mode 100644
pulsar-common/src/test/java/org/apache/pulsar/common/protocol/CommandsScalableTopicTest.java
create mode 100644
pulsar-common/src/test/java/org/apache/pulsar/common/scalable/HashRangeTest.java
create mode 100644
pulsar-common/src/test/java/org/apache/pulsar/common/scalable/SegmentTopicNameTest.java
delete mode 100644 structured-event-log/build.gradle.kts
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/Event.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/EventGroup.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/EventResources.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/EventResourcesImpl.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/Initializer.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/StructuredEventLog.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/log4j2/Log4j2Event.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/log4j2/Log4j2StructuredEventLog.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/log4j2/package-info.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/package-info.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/slf4j/Slf4jEvent.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/slf4j/Slf4jStructuredEventLog.java
delete mode 100644
structured-event-log/src/main/java/org/apache/pulsar/structuredeventlog/slf4j/package-info.java
delete mode 100644
structured-event-log/src/test/java/org/apache/pulsar/structuredeventlog/slf4j/StructuredEventLogTest.java