This is an automated email from the ASF dual-hosted git repository. mmerli pushed a change to branch dependabot/go_modules/pulsar-function-go/google.golang.org/protobuf-1.33.0 in repository https://gitbox.apache.org/repos/asf/pulsar.git
from 484d99b4faf Bump google.golang.org/protobuf in /pulsar-function-go add cba1600d0f6 [fix] [broker] Close dispatchers stuck due to mismatch between dispatcher.consumerList and dispatcher.consumerSet (#22270) add afe4261e2b4 [improve] [pip] PIP-344 Correct the behavior of the public API pulsarClient.getPartitionsForTopic(topicName) (#22182) add 567174f4352 [improve][cli] PIP-343: Use picocli instead of jcommander in pulsar-function (#22331) add a52945b1c51 [fix] [broker] fix mismatch between dispatcher.consumerList and dispatcher.consumerSet (#22283) add 0b2b6d593bb [fix][broker] Fix ResourceGroup report local usage (#22340) add 80b491dab0f [fix][broker] Fix ResourceGroups loading (#21781) add 023446b7328 [fix][cli] Fix typos in CmdSinks class (#22358) add cd49defc138 [fix][ml]Expose ledger timestamp (#22338) add d23a8f64acb [cleanup][cli] Cleanup jcommander (#22337) add fc066d727b5 [fix] [test] Fix flaky test ManagedLedgerTest.testGetNumberOfEntriesInStorage (#22344) add c184209bfc5 [fix][test] Fix flaky ManagedLedgerErrorsTest.recoverAfterZnodeVersionError (#22368) add 149deaa5a79 [fix][client] Fix wrong results of hasMessageAvailable and readNext after seeking by timestamp (#22363) add 404c0572a46 [fix][broker] Fix OpReadEntry.skipCondition NPE issue (#22367) add 3fa2ae83312 [fix][client] Consumer lost message ack due to race condition in acknowledge with batch message (#22353) add e4553391f96 [improve][broker] Optimize web interface deleteDynamicConfiguration return error message (#22356) add edd0076bd83 [fix][misc] Make ConcurrentBitSet thread safe (#22361) add be0a9d9d9bb [improve][misc] Upgrade to Netty 4.1.108 and tcnative 2.0.65 (#22369) add f77fe5f099f [fix][broker] Avoid expired unclosed ledgers when checking expired messages by ledger closure time (#22335) add b702d440dc5 [fix][broker] Check cursor state before adding it to the `waitingCursors` (#22191) add cce0b058efd [improve][misc] Remove the call to sun InetAddressCachePolicy (#22329) add 32037c3b098 [fix][broker] Fix typos in PersistentTopic class (#22364) add 6f9c8e7f70e [fix][broker] Fix PersistentSubscription duplicate implementation interface Subscription (#22359) add d8903da3d5e [fix][broker] Fix issue of field 'topic' is not set when handle GetSchema request (#22377) add 6b2938223cf [improve] PIP-342: OTel client metrics support (#22179) add 8fc30df37e2 [feat][ci] Add Trivy container scan Github workflow (#22063) add a3bf4e8a42c [improve][io]: Add validation for JDBC sink not supporting primitive schema (#22376) add e34ea626a65 [improve] [broker] Avoid repeated Read-and-discard when using Key_Shared mode (#22245) add 0701d7eedce [fix][sec] implicit narrowing conversion in compound assignment (#22074) add 7315aeb6258 [improve][fn] Pass FunctionDetails to Go instance (#22350) add 9529738efe2 [fix][ml] No rollover inactive ledgers when metadata service invalid (#22284) add 3eb3b1cd23d [fix][broker] Skip topic.close during unloading if the topic future fails with ownership check, and fix isBundleOwnedByAnyBroker to use ns.checkOwnershipPresentAsync for ExtensibleLoadBalancer (#22379) add ce4ecd2a134 [improve][misc] Upgrade log4j2 to 2.23.1 (#22327) add 50121e7f7be [improve][admin] Align the auth and check it at the first place for topic related API (#22342) add ad28a7c1ef7 [improve][broker] Don't log brokerClientAuthenticationParameters and bookkeeperClientAuthenticationParameters by default (#22395) add d7d54522933 [fix][broker] Update TransferShedder underloaded broker check to consider max loaded broker's msgThroughputEMA and update IsExtensibleLoadBalancerImpl check (#22321) add 7e93d34ee5f [fix][cli] Fix help option (#22408) add cd6f53baee7 [fix][broker] Fix invalid condition in logging exceptions (#22412) add a1970ae0996 [fix][broker] Support OIDC providers with JWK without alg field set in keys (#22421) add f4235580e64 [fix][misc] Rename all shaded Netty native libraries (#22415) add 5b6f91bc0f8 [improve][build] Upgrade Lombok to 1.18.32 for Java 22 support (#22425) add 706b588860c [cleanup][admin] Remove unused methods in PersistentTopicsBase (#22424) add ba8e8f5e218 [admin][broker] Fix force delete subscription not working (#22423) add bdb3d6922f9 [fix][ci] Fix labels for flaky test GitHub issue template (#22434) add 5390ef2f633 [fix][build] Fix typo in rename script for windows cmd (#22426) add 5f31ec383bb [improve][test] Move most flaky tests to flaky group (#22433) add 902728ef659 [fix][broker][admin] Fix cannot update properties on NonDurable subscription. (#22411) add 11b3c168e93 [improve][misc] Specify /pulsar/data as the home dir for the user in the Alpine based image (#22447) add 60ab060dd29 [improve][ci] revisit tune-runner-vm action, drop tuning for docker (#22448) add 2469b97b7e4 [fix][client] Fix client side memory leak when call MessageImpl.create and fix imprecise client-side metrics: pendingMessagesUpDownCounter, pendingBytesUpDownCounter, latencyHistogram (#22393) add a51bbdd1480 [improve][broker] Deprecate unused enableNamespaceIsolationUpdateOnTime config (#22449) add 57a616eaa79 [fix][broker] Fix consumer stops receiving messages when with large backlogs processing (#22454) add b162d469069 [cleanup][broker] remove useless code comment (#22459) add 3bdb30c7a61 [fix][build] Fix ps command (#22451) add 6de711d4008 [improve][test] Add operation authentication test for namespace API (#22398) add 9555504ee2c [improve][admin] Add authorization test for schema and align auth for transaction (#22399) add f3d14a6b0b1 [improve][test] Replace usage of curl in Java test and fix stream leaks (#22463) add fb5caeb2cd3 [fix][broker] Update topic partition failed when config maxNumPartitionsPerPartitionedTopic<0 (#22397) add cea1a9ba9b5 [fix][broker] Fix message drop record in producer stat (#22458) add b42d94121c0 [improve][broker] Recover susbcription creation on the broken schema ledger topic (#22469) add 094742d5fa6 [fix][broker] Do not migrate internal topics during Blue-Green Migration when ExtensibleLoadBalancer is used (#22478) add 4a5400f0c66 [improve][misc] Upgrade to Bookkeeper 4.16.5 (#22484) add 7984cc2f93f [feat][admin] Enable Gzip Compression by Default in Admin Client (#22464) add dbe1a4816c1 [improve][broker] Reduce the duplicated null check for LeaderElectionService (#22465) add b85730069ee [improve][broker] backlog quota exceed limit log replaced with `debug` (#22488) add d1748573f1c [fix][test] Fix NPE in BookKeeperClusterTestCase tearDown (#22493) add 15ed6595af5 [improve][broker] Improve Gzip compression, allow excluding specific paths or disabling it (#22370) add 97153dcf6f0 [fix][test] Move ExtensibleLoadManagerImplTest to flaky tests (#22495) add 51ecd0235ce [cleanup][broker] Remove unused NamespaceBundleFactory parameter when creating OwnershipCache (#22482) add 7009071b6d5 [fix][broker] Optimize /metrics, fix unbounded request queue issue and fix race conditions in metricsBufferResponse mode (#22494) add 837f8bca7dd [fix] [broker] Prevent long deduplication cursor backlog so that topic loading wouldn't timeout (#22479) add 5d18ff7b70f [fix][txn]Handle exceptions in the transaction pending ack init (#21274) add d9a43dd2160 [fix][test] Flaky-test: testMessageExpiryWithTimestampNonRecoverableException and testIncorrectClientClock (#22489) add 9d72e6bd847 [improve][test] Add topic operation checker for topic API (#22468) add 20915d1c438 [fix][sec] Upgrade Bouncycastle to 1.78 (#22509) add bbff29d8ecc [fix][io] Kafka Source connector maybe stuck (#22511) add 203f305bf44 [fix][broker] Fix Replicated Topic unload bug when ExtensibleLoadManager is enabled (#22496) add 70b401b1de9 [improve][fn] Expose `RuntimeFlags` as CLI option for Pulsar Functions and Connectors (#22514) add ffdfc0c4e08 [fix][test] SchemaMap in AutoConsumeSchema has been reused (#22500) add 4ca4e285526 [improve] Make the config `metricsBufferResponse` description more effective (#22490) add d5b36da9a2e [improve][broker] Add topic name to emitted error messages. (#22506) add 1dd82a0affd [improve][broker] Repeat the handleMetadataChanges callback when configurationMetadataStore equals localMetadataStore (#22519) add 94f6c7ccd2b [improve][broker] Optimize gzip compression for /metrics endpoint by sharing/caching compressed result (#22521) add 8ca01cd42ed [improve][admin] Align the auth and check it at the first place for topic related API (#22507) add 56970b714f5 [improve][test] Move ShadowManagedLedgerImplTest to flaky tests (#22526) add d0b9d471d53 [fix][broker] Check the broker is available for the SLA monitor bundle when the ExtensibleLoadManager is enabled (#22485) add 72474d7a2da [fix][broker] Fix a deadlock in SystemTopicBasedTopicPoliciesService during NamespaceEventsSystemTopicFactory init (#22528) add 990b8d0334c [improve][build] Upgrade OWASP Dependency check version to 9.1.0 (#22530) add 7acbc4c9f4c [improve] Run Trivy image scanner with the current image (#22386) add 7aedb6b20c1 [fix][broker] Fix typos in Consumer class (#22532) add 2badcf6bd0b [fix][broker] Fix NPE causing dispatching to stop when using Key_Shared mode and allowOutOfOrderDelivery=true (#22533) add fbf4cb71a3f [improve][offload] Apply autoSkipNonRecoverableData configuration to tiered storage (#22531) add 59daac64c21 [fix][broker] Fix broken topic policy implementation compatibility with old pulsar version (#22535) add 21647a1fc69 [fix] Bump golang.org/x/net from 0.17.0 to 0.23.0 in /pulsar-function-go (#22540) add 4a887217d83 [improve][broker] Support X-Forwarded-For and HA Proxy Protocol for resolving original client IP of http/https requests (#22524) add 3a0f908e80d [improve][test] Add topic policy test for topic API (#22546) add e81f37000ec [fix][offload] Increase file upload limit from 2048MiB to 4096MiB for GCP/GCS offloading (#22554) add 35599b73253 [fix][ml] Fix NPE of getValidPositionAfterSkippedEntries when recovering a terminated managed ledger (#22552) add a037fa33eee [improve][misc] Upgrade to Bookkeeper 4.17.0 (#22551) add c72c135541e [improve] Update Oxia client to 0.1.6 (#22525) add 49240522f54 [fix] [broker] Part-1: Replicator can not created successfully due to an orphan replicator in the previous topic owner (#21946) add 882ce415c94 [improve][broker] Apply loadBalancerDebugModeEnabled in LeastResourceUsageWithWeight (#22549) add 7fe92ac43cf [fix][broker] Support lookup options for extensible load manager (#22487) add 358c7cc6bbb [fix][ci] Don't allow merging PR without successful result (#22563) add 89b201ed8a4 [improve][broker] Make BrokerSelectionStrategy pluggable (#22553) add d5c72312ff4 [fix][admin] Fix can't delete tenant for v1 (#22550) add 77a99ed287c [fix] Include swagger annotations in shaded client lib (#22570) add a3cd1f8dd2c [fix][io] CompressionEnabled didn't work on elasticsearch sink (#22565) add d4756557bf4 [improve] [broker] Create partitioned topics automatically when enable topic level replication (#22537) add b774666331d [fix] [broker] Part-2: Replicator can not created successfully due to an orphan replicator in the previous topic owner (#21948) add 0c097ef2c6c [improve][misc] Upgrade slf4j to 2.0.13 (#22391) add 997c8b95e17 [fix][broker] Fix BufferOverflowException and EOFException bugs in /metrics gzip compression (#22576) add 6a9423156f3 [improve][ci] Disable test that causes OOME until the problem has been resolved (#22586) add 3de14c55de1 [fix][test] Clear fields in test cleanup to reduce memory consumption (#22583) add f25776d7fe6 [fix][admin] Fix namespace admin api exception response (#22587) add 69a600e86bb [improve][admin] Check if the topic existed before the permission operations (#22547) add d19860c706e [cleanup] [test] remove useless TestAuthorizationProvider2 (#22595) add 69839c72f13 [improve][meta] Log a warning when ZK batch fails with connectionloss (#22566) add 3b9602c04db [improve][broker] Propagate cause exception in TopicBusyException when applicable (#22596) add f411e3c0f26 [fix][broker] Avoid being stuck when closing the broker with extensible load manager (#22573) add f8f256cfbdc [fix][broker] Continue closing even when executor is shut down (#22599) add 7a44c801f86 [improve][broker] Close TopicPoliciesService to allow Pulsar broker graceful shutdown (#22589) add 8323a3c4991 [improve][broker] Don't use forkjoin pool by default for deleting partitioned topics (#22598) add bf5d6aac1b6 [improve][broker] perf: Reduce stickyHash calculations of non-persistent topics in SHARED subscriptions (#22536) add 5d9ccd48520 [fix][test] Flaky-test: ManagedLedgerTest.testTimestampOnWorkingLedger (#22600) add 1bb9378b50a [improve][test] Add policy authentication test for namespace API (#22593) add a761b97b733 [fix][broker] Reader stuck after call hasMessageAvailable when enable replicateSubscriptionState (#22572) add 264722f1da9 [fix][test] Fix the flaky tests of ManagedLedgerImplUtilsTest (#22611) add 93afd89b047 [fix][broker] One topic can be closed multiple times concurrently (#17524) add 6fdc0e31bff [fix] [test] Fix flaky test ReplicatorTest (#22594) add 340d60df0be [fix] [broker] Fix metrics pulsar_topic_load_failed_count is 0 when load non-persistent topic fails and fix the flaky test testBrokerStatsTopicLoadFailed (#22580) add 0fb1a71fcf5 [improve][ci] Upgrade deprecated GitHub Actions to supported versions (#22620) add d067efcc67f [fix][fn]make sure the classloader for ContextImpl is `functionClassLoader` in different runtimes (#22501) add 084daf01629 [improve][storage] Periodically rollover Cursor ledgers (#22622) add 7daebaabc0c [fix][ci] Fix labeler GitHub Actions workflow, adapt to v5 configuration format (#22628) add a9048639c1c [fix] Test was leaving client instance to null (#22631) add 4f3cc6c5d27 [feat][broker] PIP-264: Add topic messaging metrics (#22467) add 6f75569f960 [improve][cli] PIP-343: Refactor pulsar-perf to subcommand (#22388) add bc44280e88e [fix][sec] Upgrade aws-sdk.version to avoid CVE-2024-21634 (#22633) add 41f633f81e5 [fix][misc] NPE during standalone shutdown (#22636) add 0219921b5b7 [fix] [client] Fix Consumer should return configured batch receive max messages (#22619) add d12f623739d [improve][build] Use slf4j-bom to align slf4j versions (#22646) add 7a8c4549639 [improve][broker] Add logging to leader election (#22645) add 4a5953640fd [fix][sec] Upgrade Debezium oracle connector version to avoid CVE-2023-4586 (#22641) add 3ca4ddfc8fe [fix][sec] Upgrade elasticsearch-java version to avoid CVE-2023-4043 (#22640) add 2821afad7a1 [improve][build] Upgrade OTel library versions (#22649) add eee3694f00e [fix][storage] ReadonlyManagedLedger initialization does not fill in the properties (#22630) add efcedf6b0d4 [fix][io] Fix es index creation (#22654) add 025354ef4e7 [fix][test] Clear MockedPulsarServiceBaseTest fields to prevent test runtime memory leak (#22659) add 1e1919000f1 [fix][broker] Fix thread safety of loadSheddingTask and loadResourceQuotaTask fields (#22660) add c30765e789b [improve][broker] Exclude producers for geo-replication from publishers field of topic stats (#22556) add a7e1fcd0c50 [fix] [ml] Mark delete stuck due to switching cursor ledger fails (#22662) add 7e88463d9a5 [fix] Fix Reader can be stuck from transaction aborted messages. (#22610) add 816755429a3 [improve][test] Clear fields in AuthZTest classes at cleanup (#22661) add 09364a95f84 [improve] Upgrade to Oxia client 0.2.0 (#22663) add 788b5ae9bde [feat][broker] PIP-264: Add Java runtime metrics (#22616) add 83b86abcb74 [improve] Retry re-validating ResourceLock with backoff after errors (#22617) add 519d8e2c3a0 [fix][broker] Add the missed opentelemetry-sdk-testing dependency to tests of pulsar-broker-auth-sasl (#22665) add 5ff0fb9604e [fix][broker] Disable system topic message deduplication (#22582) add e2feec827fe [improve][broker] Disable JFR metric reporting in OpenTelemetry (#22669) add 80d46758e89 [improve][ws] Add memory limit configuration for Pulsar client used in Websocket proxy (#22666) add 3114199c185 [fix][broker] avoid offload system topic (#22497) add 188355b2df0 [fix][admin] Fix deprecated check (#22653) add ca44b9bc7c4 Revert "[fix][sec] Upgrade Debezium oracle connector version to avoid… (#22668) add 5ab05129514 [fix] [broker] rename to changeMaxReadPositionCount (#22656) add ada31a96db9 [fix] [broker] Fix nothing changed after removing dynamic configs (#22673) add ad75e3f0921 [improve][broker] Remove unused method CompactionRecord.reset (#22670) add 88feb874bb3 [fix][ml] Remove duplicated field initialization of ML (#22676) add 8f015d89e5d [fix][broker] usedLocallySinceLastReport should always be reset (#22672) add bd4c57d27c4 [fix][broker] Fix geo-replication admin client url (#22584) add 566330ca8d0 [fix][offload] Fix OOM in tiered storage, caused by unbounded offsets cache (#22679) add 03a4995a161 [improve][offload] Replace usage of shaded class in OffsetsCache (#22683) add 0fd223d23d5 [improve] [pip] PIP-349: Add additionalSystemCursorNames ignore list for TTL check (#22651) add bed032e714a [improve] [broker] Add additionalSystemCursorNames ignore list for TTL check (#22614) add 253e6506ea2 [fix][broker] Fix ProducerBusy issue due to incorrect userCreatedProducerCount on non-persistent topic (#22685) add ff4853e0625 [fix] [broker] Fix configurationMetadataSyncEventTopic is marked supporting dynamic setting, but not implemented (#22684) add 774a5d42e83 [fix][broker] Fix cursor should use latest ledger config (#22644) add b7ec89a9082 [fix] [doc] fix the class name of transaction exception. (#22687) add b56f238f6aa [fix][client] Fix ReaderBuilder doest not give illegalArgument on connection failure retry (#22639) add 2cfd9597676 [fix][sec] Upgrade postgresql version to avoid CVE-2024-1597 (#22635) add d77c5de5d71 [improve] [log] Print source client addr when enabled haProxyProtocolEnabled (#22686) add e558cfe9836 [feat][broker] PIP-264: Add OpenTelemetry consumer metrics (#22693) add 3b24b6e0b72 [fix][misc] Correct the description of patternAutoDiscoveryPeriod (#22615) add 16556faf41f [improve] [pip] PIP-348: Trigger offload on topic load stage (#22650) add 936afecede8 [improve][broker]Ensure namespace deletion doesn't fail (#22627) add 9fd1b61fc45 [fix][broker] fix replicated subscriptions for transactional messages (#22452) add 9668674b361 [improve][build] Improve docker-push (#22702) add 1a7ada88056 [improve][build] Bump version to 3.4.0-SNAPSHOT (#22700) add 9f1325ac64c [fix] [broker] fix typo and useless local variable. (#22704) add 74689280c43 [improve][pip] PIP-327: Support force topic loading for unrecoverable errors (#21752) add 3d260799e37 [improve][pip] PIP-347: add role field in consumer's stat (#22564) add 361156e74cb [improve][pip] PIP-350: Allow to disable the managedLedgerOffloadDeletionLagInMillis (#22688) add 22a9023acd2 [cleanup][broker] Remove warn logs when changing the state from Owned to Free (Extensible LB) (#22708) add 7befb8df945 [improve][build] Support custom image and label names (#22703) add f07b3a03017 [improve] [broker] [break change] Do not create partitioned DLQ/Retry topic automatically (#22705) add f3e52b568ec [improve][pip] PIP-347: Add role field in consumer's stat (#22562) add 101aee4543f [fix][schema] Error checking schema compatibility on a schema-less topic via REST API (#22720) add 73fd61db646 [improve][offload] Allow to disable the managedLedgerOffloadDeletionLagInMillis (#22689) add 4e132d3f291 [improve] [test] Add a test to guarantee the TNX topics will not be replicated (#22721) add fd5916cca6e [fix][broker] Make ExtensibleLoadManagerImpl.getOwnedServiceUnits async (#22727) add 23d5e123d3b [improve] [broker] Do not call cursor.isCursorDataFullyPersistable if disabled dispatcherPauseOnAckStatePersistentEnabled (#22729) add 528c4b0fdb0 [fix][build] Fix CVE-2024-2511 by upgrading to OpenSSL in docker image (#22731) add edde408f781 [fix][build] Add curl command for pulsar image (#22732) add 0c6f2480685 [fix][build] Fixed creation of `packages-storage` directory in docker image (#22730) add e35c00e9c09 [fix][offload] Break the fillbuffer loop when met EOF (#22722) add 400a286ca09 [improve] [broker] Trigger offload on topic load (#22652) add 158960a7e2a [fix][test] Fix flaky AuthorizationTest.testGetListWithGetBundleOp (#22713) add 2308f27c555 [fix][build] Fix pulsar-client-python installation on ARM arch (#22733) add 4593cc33f93 [improve][build] Remove invalid relativePath definitions in pom.xml files (#22741) add 6372b9c8f54 [fix] [broker] fix deadlock when disable topic level Geo-Replication (#22738) add 9c60134f5af [improve][cli] Supports creating tokens with additional headers (#22690) add 47fd1a3e414 [improve][test] Restart broker in SimpleProducerConsumerTest if ns deletion times out (#22734) add b5bc390905f [fix][ml]: subscription props could be lost in case of missing ledger during recovery (#22637) add 878a4129a2f [improve][client] Deprecate `MessageIdUtils.getOffset` and `MessageIdUtils.getMessageId` (#22747) add ae9616b7ee4 [fix] [ml] Add entry fail due to race condition about add entry failed/timeout and switch ledger (#22221) add a66ff17b31a [improve][broker] Close protocol handlers before unloading namespace bundles (#22728) add 949260f190c [fix][broker] Immediately tombstone Deleted and Free state bundles (#22743) add ce9998655c7 [improve] Allow to construct Oxia metadata-store directly from a client instance (#22756) add adad1fb8420 [improve][broker] Clear thread local BrokerEntryMetadata instance before reuse (#22752) add 13806d7430c [fix] [conf] fix typo for TransferShedder. (#22757) add dd359819b3a [fix] Upgrade Alpine packages at build time to fix CVE-2023-4236 (#22763) add 99bff72b7d2 [fix][test] Fix flaky test testShadowWrites (#22745) add 951eb518f77 [fix][cli] Remove defaultValue of tenant/namespace for CmdFunctions (#22764) add 4e5c0bcc2b4 [fix] [client] PIP-344 Do not create partitioned metadata when calling pulsarClient.getPartitionsForTopic(topicName) (#22206) add 2db2e76d10c [improve][PIP] PIP-353: Improve transaction message visibility for peek-messages (#22746) add 9d9b8dfa16d [fix][admin][part-1]Clearly define REST API on Open API (#22774) add aa230bc41ac [fix][admin] Tenant AdminRoles can not contains whitespace in the beginning or end. (#22450) add 3534cdd06f5 [improve] [pip] PIP-354: apply topK mechanism to ModularLoadManagerImpl (#22765) add 9b3876df70f [fix][admin] Clearly define REST API on Open API for Namesaces@v2 (#22775) add ba20e02f01d [fix][admin] Clearly define REST API on Open API (#22783) add c25d7b20b21 [fix][admin] Clearly define REST API on Open API for Topics (#22782) add f5a00d8c7a0 [improve] [pip] PIP-354: apply topK mechanism to ModularLoadManagerImpl (#22753) add 55ad4b22ba2 [fix] [broker] fix topic partitions was expanded even if disabled topic level replication (#22769) add 20e83b96c3f [improve][cli] PIP-353: Improve transaction message visibility for peek-message (#22762) add b0e8fe9f7ea [fix] [broker] replace loadSheddingPipeline with loadSheddingStrategy. (#22786) add 82025b8ea10 [improve][broker] avoid creating new objects when intercepting (#22790) add 60b9f870083 [improve][broker] Remove ClassLoaderSwitcher to avoid objects allocations and consistent the codestyle (#22796) add 5a7efd8f3ac [fix][broker] EntryFilters fix NoClassDefFoundError due to closed classloader (#22767) add 43b20c3cfda [improve] [pip] PIP-356: Support Geo-Replication starts at earliest position (#22791) add 2b1630e9f0b Revert "[improve] [pip] PIP-356: Support Geo-Replication starts at earliest position" (#22805) add 34898e36576 [fix][broker] fix can not cleanup heartbeat data if scaling down broker (#22750) add 87a33399873 [improve] [client] improve the class GetTopicsResult (#22766) add 60ebab4ca6f [cleanup] [broker] remove DeviationShedder. (#22800) add 7ad157cb935 [improve] Upgrade to Oxia client 0.3.0 (#22807) add c39f9f82b42 [fix][ml] Fix race conditions in RangeCache (#22789) add e731674f61a [improve][ml] RangeCache refactoring: test race conditions and prevent endless loops (#22814) add 7b8f4a9159c [fix][ci] Fix snappy-java native lib fails to load in x86 alpine (#22804) add 6701936939f [fix] [broker] Fix doc of ThresholdShedder and remove useless method. (#22798) add 2c3909c17b0 [fix] [broker] maintain last active info in memory only. (#22794) add 274a3cb66b8 [improve] [pip] PIP-356: Support Geo-Replication starts at earliest position (#22806) add a6cee2b4f33 [feat][broker] PIP-264: Add schema registry metrics (#22624) add 245c3e8bee2 [fix][cli] Fix expiration of tokens created with "pulsar tokens create" (#22815) add 208d8a53be2 [improve][ml] RangeCache refactoring follow-up: use StampedLock instead of synchronized (#22818) add 05d98f7b07b [fix][sec] Upgrade Bouncycastle libraries to address CVEs (#22826) add 2c2ecabfcdc [improve][misc] Upgrade OTel library to 1.38.0 version (#22825) add 91781d5b573 [fix] Bump io.airlift:aircompressor from 0.20 to 0.27 (#22819) add b0910812b7e [fix] Removing out of the box option for Java serde in functions (#22832) add 2810a5fcf9c Merge remote-tracking branch 'apache/master' into dependabot/go_modules/pulsar-function-go/google.golang.org/protobuf-1.33.0 No new revisions were added by this update. Summary of changes: .github/ISSUE_TEMPLATE/flaky-test.yml | 2 +- .github/actions/tune-runner-vm/action.yml | 6 - .github/labeler.yml | 3 +- .github/workflows/ci-go-functions.yaml | 2 +- .github/workflows/ci-semantic-pull-request.yml | 2 +- .github/workflows/labeler.yml | 2 +- .github/workflows/pulsar-ci.yaml | 40 +- README.md | 6 + bin/pulsar-perf | 65 +- bin/pulsar-perf.cmd | 84 +- bouncy-castle/bc/LICENSE | 5 +- bouncy-castle/bc/pom.xml | 3 +- bouncy-castle/bcfips-include-test/pom.xml | 3 +- bouncy-castle/bcfips/pom.xml | 3 +- bouncy-castle/pom.xml | 3 +- build/build_java_test_image.sh | 8 +- build/run_unit_group.sh | 16 +- buildtools/pom.xml | 24 +- .../apache/pulsar/tests/AnnotationListener.java | 22 + conf/broker.conf | 48 +- conf/functions_worker.yml | 10 + conf/log4j2.yaml | 2 +- conf/proxy.conf | 16 +- conf/pulsar_env.sh | 4 + conf/standalone.conf | 20 + conf/websocket.conf | 13 + distribution/io/pom.xml | 3 +- distribution/offloaders/pom.xml | 3 +- distribution/pom.xml | 3 +- distribution/server/pom.xml | 5 +- distribution/server/src/assemble/LICENSE.bin.txt | 235 +-- distribution/shell/pom.xml | 5 +- distribution/shell/src/assemble/LICENSE.bin.txt | 87 +- docker/pom.xml | 2 +- docker/pulsar-all/pom.xml | 31 +- docker/pulsar/Dockerfile | 75 +- docker/pulsar/pom.xml | 30 +- jclouds-shaded/pom.xml | 3 +- managed-ledger/pom.xml | 5 +- .../bookkeeper/mledger/LedgerOffloaderFactory.java | 7 +- .../apache/bookkeeper/mledger/ManagedCursor.java | 8 + .../apache/bookkeeper/mledger/ManagedLedger.java | 5 + .../bookkeeper/mledger/ManagedLedgerConfig.java | 17 + .../bookkeeper/mledger/ManagedLedgerMXBean.java | 10 + .../apache/bookkeeper/mledger/impl/EntryImpl.java | 7 +- .../bookkeeper/mledger/impl/ManagedCursorImpl.java | 137 +- .../mledger/impl/ManagedCursorMXBeanImpl.java | 3 +- .../mledger/impl/ManagedLedgerFactoryImpl.java | 6 + .../bookkeeper/mledger/impl/ManagedLedgerImpl.java | 71 +- .../mledger/impl/ManagedLedgerMBeanImpl.java | 10 + .../mledger/impl/NonDurableCursorImpl.java | 5 +- .../apache/bookkeeper/mledger/impl/OpAddEntry.java | 39 +- .../bookkeeper/mledger/impl/OpReadEntry.java | 5 +- .../bookkeeper/mledger/impl/RangeSetWrapper.java | 2 +- .../mledger/impl/ReadOnlyCursorImpl.java | 5 +- .../mledger/impl/ReadOnlyManagedLedgerImpl.java | 10 +- .../mledger/impl/ShadowManagedLedgerImpl.java | 3 + .../bookkeeper/mledger/offload/Offloaders.java | 6 + .../mledger/util/ManagedLedgerImplUtils.java | 77 + .../apache/bookkeeper/mledger/util/RangeCache.java | 357 +++- managed-ledger/src/main/proto/MLDataFormats.proto | 3 +- .../mledger/impl/EntryCacheManagerTest.java | 2 +- ...ManagedCursorIndividualDeletedMessagesTest.java | 3 +- .../bookkeeper/mledger/impl/ManagedCursorTest.java | 106 +- .../mledger/impl/ManagedLedgerBkTest.java | 37 + .../mledger/impl/ManagedLedgerErrorsTest.java | 1 - .../mledger/impl/ManagedLedgerFactoryTest.java | 5 + .../mledger/impl/ManagedLedgerMBeanTest.java | 8 + .../bookkeeper/mledger/impl/ManagedLedgerTest.java | 112 +- .../mledger/impl/OffloadLedgerDeleteTest.java | 4 + .../impl/ReadOnlyManagedLedgerImplTest.java | 103 ++ .../mledger/impl/ShadowManagedLedgerImplTest.java | 19 +- .../mledger/util/ManagedLedgerImplUtilsTest.java | 77 + .../bookkeeper/mledger/util/RangeCacheTest.java | 92 +- .../bookkeeper/test/BookKeeperClusterTestCase.java | 8 +- microbench/pom.xml | 3 +- pip/pip-327.md | 42 + pip/pip-344.md | 127 ++ pip/pip-347.md | 37 + pip/pip-348.md | 40 + pip/pip-349.md | 33 + pip/pip-350.md | 36 + pip/pip-353.md | 137 ++ pip/pip-354.md | 50 + pip/pip-356.md | 113 ++ pom.xml | 111 +- pulsar-bom/pom.xml | 4 +- pulsar-broker-auth-athenz/pom.xml | 2 +- pulsar-broker-auth-oidc/pom.xml | 2 +- .../oidc/AuthenticationProviderOpenID.java | 3 +- ...uthenticationProviderOpenIDIntegrationTest.java | 17 +- pulsar-broker-auth-sasl/pom.xml | 8 +- pulsar-broker-common/pom.xml | 2 +- .../apache/pulsar/broker/ClassLoaderSwitcher.java | 37 - .../apache/pulsar/broker/ServiceConfiguration.java | 85 +- .../authentication/utils/AuthTokenUtils.java | 9 +- .../pulsar/broker/resources/BaseResources.java | 27 +- .../broker/resources/LocalPoliciesResources.java | 2 +- .../broker/resources/NamespaceResources.java | 31 +- .../pulsar/broker/resources/PulsarResources.java | 12 +- .../pulsar/broker/resources/TopicResources.java | 35 +- .../PrometheusMetricsGeneratorUtils.java | 2 +- .../stats/prometheus/PrometheusMetricsServlet.java | 150 +- .../apache/pulsar/broker/web/GzipHandlerUtil.java | 69 + .../pulsar/broker/web/JettyRequestLogFactory.java | 195 +- .../servlet/AdditionalServletWithClassLoader.java | 25 +- .../stats/prometheus/PrometheusMetricsClient.java | 2 +- .../pulsar/broker/web/GzipHandlerUtilTest.java | 29 +- pulsar-broker/pom.xml | 22 +- .../org/apache/pulsar/PulsarBrokerStarter.java | 2 +- .../apache/pulsar/PulsarClusterMetadataSetup.java | 6 +- .../org/apache/pulsar/PulsarVersionStarter.java | 2 +- .../org/apache/pulsar/broker/PulsarService.java | 231 ++- .../apache/pulsar/broker/admin/AdminResource.java | 108 +- .../pulsar/broker/admin/impl/BrokerStatsBase.java | 3 + .../pulsar/broker/admin/impl/BrokersBase.java | 33 +- .../pulsar/broker/admin/impl/ClustersBase.java | 10 +- .../pulsar/broker/admin/impl/FunctionsBase.java | 27 +- .../pulsar/broker/admin/impl/NamespacesBase.java | 27 +- .../broker/admin/impl/PersistentTopicsBase.java | 1914 +++++++++---------- .../apache/pulsar/broker/admin/impl/SinksBase.java | 18 +- .../pulsar/broker/admin/impl/SourcesBase.java | 20 +- .../pulsar/broker/admin/impl/TenantsBase.java | 28 +- .../org/apache/pulsar/broker/admin/v2/Bookies.java | 16 +- .../apache/pulsar/broker/admin/v2/BrokerStats.java | 7 +- .../apache/pulsar/broker/admin/v2/Namespaces.java | 453 +++-- .../broker/admin/v2/NonPersistentTopics.java | 25 +- .../pulsar/broker/admin/v2/PersistentTopics.java | 374 +++- .../pulsar/broker/admin/v2/ResourceGroups.java | 5 +- .../pulsar/broker/admin/v2/ResourceQuotas.java | 4 +- .../org/apache/pulsar/broker/admin/v2/Worker.java | 10 +- .../apache/pulsar/broker/admin/v3/Packages.java | 9 +- .../pulsar/broker/admin/v3/Transactions.java | 51 +- .../BrokerInterceptorWithClassLoader.java | 127 +- .../pulsar/broker/loadbalance/LoadManager.java | 3 +- .../extensions/ExtensibleLoadManager.java | 5 +- .../extensions/ExtensibleLoadManagerImpl.java | 161 +- .../extensions/ExtensibleLoadManagerWrapper.java | 15 +- .../channel/ServiceUnitStateChannelImpl.java | 77 +- .../extensions/data/BrokerLookupData.java | 17 +- .../extensions/manager/SplitManager.java | 2 +- .../extensions/manager/UnloadManager.java | 26 +- .../loadbalance/extensions/models/TopKBundles.java | 2 +- .../extensions/scheduler/TransferShedder.java | 22 +- .../store/TableViewLoadDataStoreImpl.java | 6 +- .../strategy/BrokerSelectionStrategy.java | 2 + .../strategy/BrokerSelectionStrategyFactory.java | 14 +- .../strategy/LeastResourceUsageWithWeight.java | 3 +- .../broker/loadbalance/impl/DeviationShedder.java | 153 -- .../loadbalance/impl/ModularLoadManagerImpl.java | 122 +- .../broker/loadbalance/impl/ThresholdShedder.java | 2 +- .../pulsar/broker/namespace/NamespaceService.java | 129 +- .../pulsar/broker/namespace/OwnershipCache.java | 4 +- .../protocol/ProtocolHandlerWithClassLoader.java | 44 +- .../pulsar/broker/resourcegroup/ResourceGroup.java | 37 +- .../resourcegroup/ResourceGroupConfigListener.java | 76 +- .../broker/resourcegroup/ResourceGroupService.java | 4 +- .../pulsar/broker/service/AbstractReplicator.java | 342 +++- .../pulsar/broker/service/AbstractTopic.java | 77 +- .../pulsar/broker/service/BrokerService.java | 204 +- .../broker/service/BrokerServiceException.java | 4 + .../org/apache/pulsar/broker/service/Consumer.java | 62 +- .../org/apache/pulsar/broker/service/Producer.java | 4 +- .../service/PulsarMetadataEventSynchronizer.java | 239 ++- .../apache/pulsar/broker/service/Replicator.java | 6 +- .../apache/pulsar/broker/service/ServerCnx.java | 220 ++- .../broker/service/ServerCnxThrottleTracker.java | 2 +- .../SystemTopicBasedTopicPoliciesService.java | 115 +- .../SystemTopicTxnBufferSnapshotService.java | 20 +- .../org/apache/pulsar/broker/service/Topic.java | 17 + .../pulsar/broker/service/TopicListService.java | 20 +- .../broker/service/TopicPoliciesService.java | 11 +- .../nonpersistent/NonPersistentReplicator.java | 5 +- ...istentStickyKeyDispatcherMultipleConsumers.java | 30 +- .../nonpersistent/NonPersistentSubscription.java | 3 +- .../service/nonpersistent/NonPersistentTopic.java | 50 +- .../service/persistent/MessageDeduplication.java | 24 +- .../persistent/MessageRedeliveryController.java | 8 + .../PersistentDispatcherMultipleConsumers.java | 102 +- .../PersistentDispatcherSingleActiveConsumer.java | 2 +- .../persistent/PersistentMessageExpiryMonitor.java | 4 +- .../service/persistent/PersistentReplicator.java | 98 +- ...istentStickyKeyDispatcherMultipleConsumers.java | 114 +- .../service/persistent/PersistentSubscription.java | 6 +- .../broker/service/persistent/PersistentTopic.java | 430 +++-- .../ReplicatedSubscriptionsController.java | 9 +- .../broker/service/persistent/SystemTopic.java | 16 + .../broker/service/plugin/EntryFilterProvider.java | 3 +- .../service/plugin/EntryFilterWithClassLoader.java | 29 +- .../schema/AvroSchemaBasedCompatibilityCheck.java | 6 +- .../service/schema/BookkeeperSchemaStorage.java | 2 + .../ProtobufNativeSchemaCompatibilityCheck.java | 4 +- .../service/schema/SchemaRegistryService.java | 6 +- .../service/schema/SchemaRegistryServiceImpl.java | 39 +- .../broker/service/schema/SchemaRegistryStats.java | 198 +- .../exceptions/IncompatibleSchemaException.java | 4 + .../broker/stats/OpenTelemetryConsumerStats.java | 170 ++ .../broker/stats/OpenTelemetryTopicStats.java | 490 +++++ .../org/apache/pulsar/broker/stats/TimeWindow.java | 94 - .../org/apache/pulsar/broker/stats/WindowWrap.java | 56 - .../broker/stats/prometheus/MetricsExports.java | 68 + .../stats/prometheus/PrometheusMetricStreams.java | 2 +- .../prometheus/PrometheusMetricsGenerator.java | 486 +++-- .../prometheus/PulsarPrometheusMetricsServlet.java | 166 +- .../pulsar/broker/stats/prometheus/TopicStats.java | 29 +- .../transaction/buffer/TransactionBuffer.java | 20 +- .../buffer/impl/InMemTransactionBuffer.java | 13 +- .../buffer/impl/TopicTransactionBuffer.java | 82 +- .../buffer/impl/TransactionBufferDisable.java | 13 +- .../pendingack/impl/PendingAckHandleImpl.java | 54 +- .../pulsar/broker/web/PulsarWebResource.java | 9 +- .../org/apache/pulsar/broker/web/WebService.java | 47 +- .../common/naming/NamespaceBundleFactory.java | 2 +- .../apache/pulsar/compaction/CompactionRecord.java | 20 +- .../pulsar/compaction/CompactorMXBeanImpl.java | 4 - .../apache/pulsar/compaction/CompactorTool.java | 2 +- .../pulsar/utils/auth/tokens/TokensCliUtils.java | 12 +- .../pulsar/zookeeper/LocalBookkeeperEnsemble.java | 4 +- .../apache/pulsar/PrometheusMetricsTestUtil.java | 84 + .../org/apache/pulsar/TestNGInstanceOrder.java | 38 + .../pulsar/broker/MultiBrokerTestZKBaseTest.java | 1 + .../apache/pulsar/broker/SLAMonitoringTest.java | 21 +- .../apache/pulsar/broker/admin/AdminApi2Test.java | 9 +- .../admin/AdminApiDynamicConfigurationsTest.java | 68 + .../broker/admin/AdminApiMultiBrokersTest.java | 2 +- .../pulsar/broker/admin/AdminApiOffloadTest.java | 31 +- .../pulsar/broker/admin/AdminApiSchemaTest.java | 30 + .../broker/admin/AdminApiSchemaWithAuthTest.java | 1 + .../apache/pulsar/broker/admin/AdminApiTest.java | 12 + .../org/apache/pulsar/broker/admin/AuthZTest.java | 128 ++ .../broker/admin/GetPartitionMetadataTest.java | 473 +++++ .../pulsar/broker/admin/NamespaceAuthZTest.java | 1956 +++++++++++++++++++- .../pulsar/broker/admin/PersistentTopicsTest.java | 123 +- .../apache/pulsar/broker/admin/TopicAuthZTest.java | 1852 +++++++++++++++++- .../pulsar/broker/admin/TopicAutoCreationTest.java | 3 +- .../broker/admin/TopicPoliciesAuthZTest.java | 2 + .../admin/TransactionAndSchemaAuthZTest.java | 353 ++++ .../v3/AdminApiTransactionMultiBrokerTest.java | 2 +- .../broker/admin/v3/AdminApiTransactionTest.java | 126 ++ .../pulsar/broker/auth/AuthorizationTest.java | 44 +- .../broker/auth/MockedPulsarServiceBaseTest.java | 17 + .../intercept/BrokerInterceptorUtilsTest.java | 2 +- .../BrokerInterceptorWithClassLoaderTest.java | 2 +- .../loadbalance/LeaderElectionServiceTest.java | 5 +- .../broker/loadbalance/LoadBalancerTest.java | 15 +- .../loadbalance/SimpleLoadManagerImplTest.java | 30 +- .../AntiAffinityNamespaceGroupExtensionTest.java | 4 +- .../loadbalance/extensions/BrokerRegistryTest.java | 10 +- .../extensions/ExtensibleLoadManagerCloseTest.java | 107 ++ .../ExtensibleLoadManagerImplBaseTest.java | 21 +- .../extensions/ExtensibleLoadManagerImplTest.java | 183 +- .../channel/ServiceUnitStateChannelTest.java | 56 +- .../extensions/data/BrokerLookupDataTest.java | 32 +- .../extensions/manager/SplitManagerTest.java | 27 +- .../extensions/manager/UnloadManagerTest.java | 63 +- .../extensions/scheduler/TransferShedderTest.java | 13 +- .../CustomBrokerSelectionStrategyTest.java | 86 + .../loadbalance/impl/BundleSplitterTaskTest.java | 10 +- .../impl/ModularLoadManagerImplTest.java | 91 +- .../broker/namespace/OwnershipCacheTest.java | 19 +- .../broker/protocol/PulsarClientBasedHandler.java | 152 ++ .../protocol/PulsarClientBasedHandlerTest.java | 87 + .../protocol/SimpleProtocolHandlerTestsBase.java | 16 +- .../ResourceGroupConfigListenerTest.java | 48 + .../ResourceGroupReportLocalUsageTest.java | 121 ++ .../broker/service/AbstractReplicatorTest.java | 22 +- .../broker/service/AdvertisedAddressTest.java | 10 +- .../broker/service/BacklogQuotaManagerTest.java | 59 +- .../pulsar/broker/service/BkEnsemblesTestBase.java | 15 +- .../broker/service/BrokerBkEnsemblesTests.java | 8 +- .../broker/service/BrokerBookieIsolationTest.java | 6 +- ...kerInternalClientConfigurationOverrideTest.java | 42 +- .../BrokerServiceAutoTopicCreationTest.java | 4 +- .../pulsar/broker/service/BrokerServiceTest.java | 329 +++- .../service/BrokerServiceThrottlingTest.java | 21 +- .../CanReconnectZKClientPulsarServiceBaseTest.java | 24 +- .../broker/service/ClusterMigrationTest.java | 47 +- .../DeduplicationDisabledBrokerLevelTest.java | 161 ++ .../broker/service/EnableProxyProtocolTest.java | 5 +- ...oReplicationWithConfigurationSyncTestBase.java} | 63 +- .../pulsar/broker/service/MaxMessageSizeTest.java | 15 +- .../pulsar/broker/service/MessageTTLTest.java | 96 + .../broker/service/OneWayReplicatorTest.java | 692 ++++++- .../broker/service/OneWayReplicatorTestBase.java | 314 +++- .../service/OneWayReplicatorUsingGlobalZKTest.java | 107 ++ .../service/PersistentMessageFinderTest.java | 91 +- .../pulsar/broker/service/PersistentTopicTest.java | 10 +- ...onTest.java => ReplicatedSubscriptionTest.java} | 109 +- .../ReplicatedSubscriptionWithTransactionTest.java | 53 + .../pulsar/broker/service/ReplicationTxnTest.java | 262 +++ .../broker/service/ReplicatorGlobalNSTest.java | 145 +- .../pulsar/broker/service/ReplicatorTest.java | 140 +- .../pulsar/broker/service/ReplicatorTestBase.java | 86 +- .../pulsar/broker/service/ServerCnxTest.java | 7 +- .../pulsar/broker/service/SyncConfigStoreTest.java | 116 ++ .../SystemTopicBasedTopicPoliciesServiceTest.java | 4 +- .../pulsar/broker/service/TopicOwnerTest.java | 15 +- .../TransactionalReplicateSubscriptionTest.java | 182 ++ ...ntStickyKeyDispatcherMultipleConsumersTest.java | 8 +- .../nonpersistent/NonPersistentTopicTest.java | 22 + .../persistent/BucketDelayedDeliveryTest.java | 6 +- .../service/persistent/DelayedDeliveryTest.java | 21 + .../service/persistent/MessageDuplicationTest.java | 32 + .../PersistentDispatcherMultipleConsumersTest.java | 101 + .../service/persistent/PersistentTopicTest.java | 210 ++- .../broker/service/plugin/FilterEntryTest.java | 12 +- .../broker/service/schema/SchemaServiceTest.java | 126 +- .../stats/AuthenticatedConsumerStatsTest.java | 169 ++ .../broker/stats/BrokerOpenTelemetryTestUtil.java | 92 + .../pulsar/broker/stats/ConsumerStatsTest.java | 8 +- .../broker/stats/MetadataStoreStatsTest.java | 6 +- .../stats/OpenTelemetryConsumerStatsTest.java | 151 ++ .../broker/stats/OpenTelemetryTopicStatsTest.java | 145 ++ .../pulsar/broker/stats/PrometheusMetricsTest.java | 120 +- .../pulsar/broker/stats/SubscriptionStatsTest.java | 6 +- .../apache/pulsar/broker/stats/TimeWindowTest.java | 83 - .../broker/stats/TransactionMetricsTest.java | 18 +- .../prometheus/PrometheusMetricsGeneratorTest.java | 85 + .../broker/testcontext/PulsarTestContext.java | 11 +- .../broker/transaction/TransactionProduceTest.java | 36 + .../pulsar/broker/transaction/TransactionTest.java | 119 +- .../broker/transaction/TransactionTestBase.java | 1 + .../buffer/TopicTransactionBufferTest.java | 38 +- .../buffer/TransactionBufferClientTest.java | 4 +- .../buffer/TransactionLowWaterMarkTest.java | 4 +- .../coordinator/TransactionMetaStoreTestBase.java | 17 +- .../pendingack/PendingAckPersistentTest.java | 86 +- .../broker/web/WebServiceOriginalClientIPTest.java | 155 ++ .../apache/pulsar/broker/web/WebServiceTest.java | 73 +- .../api/AuthenticatedProducerConsumerTest.java | 4 +- .../api/AuthorizationProducerConsumerTest.java | 30 +- .../pulsar/client/api/BrokerServiceLookupTest.java | 6 +- .../client/api/ClientDeduplicationFailureTest.java | 20 +- .../client/api/ConsumerBatchReceiveTest.java | 8 +- .../DeadLetterTopicDefaultMultiPartitionsTest.java | 251 +++ .../client/api/InjectedClientCnxClientBuilder.java | 3 +- .../client/api/KeySharedSubscriptionTest.java | 280 +++ .../pulsar/client/api/ProducerConsumerBase.java | 66 + ...MultiListenersWithInternalListenerNameTest.java | 5 +- ...impleProducerConsumerMLInitializeDelayTest.java | 108 ++ .../client/api/SimpleProducerConsumerTest.java | 272 ++- .../apache/pulsar/client/api/SimpleSchemaTest.java | 3 + .../api/SubscriptionPauseOnAckStatPersistTest.java | 128 +- .../org/apache/pulsar/client/api/TenantTest.java | 29 +- .../pulsar/client/impl/ConnectionHandlerTest.java | 2 + .../pulsar/client/impl/ConnectionPoolTest.java | 18 +- .../pulsar/client/impl/LookupServiceTest.java | 128 ++ .../pulsar/client/impl/MessageChecksumTest.java | 3 +- .../pulsar/client/impl/MessageChunkingTest.java | 3 +- .../client/impl/PatternTopicsConsumerImplTest.java | 3 +- .../client/impl/ProducerConsumerInternalTest.java | 2 +- .../pulsar/client/impl/PulsarTestClient.java | 5 +- .../org/apache/pulsar/client/impl/ReaderTest.java | 111 +- .../apache/pulsar/client/impl/RetryUtilTest.java | 2 + .../client/impl/TransactionEndToEndTest.java | 4 +- ...ransactionEndToEndWithoutBatchIndexAckTest.java | 2 +- .../pulsar/client/metrics/ClientMetricsTest.java | 336 ++++ .../pulsar/compaction/CompactorMXBeanImplTest.java | 5 - .../apache/pulsar/compaction/CompactorTest.java | 45 +- .../worker/PulsarFunctionE2ESecurityTest.java | 25 +- .../worker/PulsarFunctionPublishTest.java | 25 +- .../functions/worker/PulsarFunctionTlsTest.java | 8 +- .../worker/PulsarWorkerAssignmentTest.java | 25 +- .../apache/pulsar/io/AbstractPulsarE2ETest.java | 42 +- .../apache/pulsar/io/PulsarFunctionAdminTest.java | 25 +- .../apache/pulsar/io/PulsarFunctionTlsTest.java | 20 +- .../java/org/apache/pulsar/schema/SchemaTest.java | 109 ++ .../pulsar/security/MockedPulsarStandalone.java | 7 +- .../utils/auth/tokens/TokensCliUtilsTest.java | 101 + .../websocket/proxy/ProxyAuthorizationTest.java | 8 +- .../pulsar/zookeeper/ZookeeperServerTest.java | 13 +- pulsar-broker/src/test/resources/log4j2.xml | 3 +- pulsar-cli-utils/pom.xml | 12 +- .../cli/converters/TimeUnitToSecondsConverter.java | 42 - .../cli/validators/MinNegativeOneValidator.java | 30 - .../pulsar/cli/converters/TimeConversionTest.java | 5 +- .../cli/validators/CliUtilValidatorsTest.java | 64 - pulsar-client-1x-base/pom.xml | 3 +- pulsar-client-1x-base/pulsar-client-1x/pom.xml | 3 +- .../pulsar-client-2x-shaded/pom.xml | 3 +- pulsar-client-admin-api/pom.xml | 5 +- .../pulsar/client/admin/PulsarAdminBuilder.java | 11 +- .../org/apache/pulsar/client/admin/Topics.java | 60 +- .../pulsar/common/policies/data/ConsumerStats.java | 3 + .../common/policies/data/SubscriptionStats.java | 2 +- pulsar-client-admin-shaded/pom.xml | 3 +- pulsar-client-admin/pom.xml | 10 +- .../admin/internal/PulsarAdminBuilderImpl.java | 22 +- .../client/admin/internal/PulsarAdminImpl.java | 8 +- .../pulsar/client/admin/internal/TopicsImpl.java | 70 +- .../admin/internal/http/AsyncHttpConnector.java | 14 +- .../internal/http/AsyncHttpConnectorProvider.java | 9 +- .../client/admin/internal/PulsarAdminGzipTest.java | 122 ++ pulsar-client-all/pom.xml | 5 +- pulsar-client-api/pom.xml | 9 +- .../apache/pulsar/client/api/ClientBuilder.java | 22 + .../apache/pulsar/client/api/ConsumerBuilder.java | 5 +- .../apache/pulsar/client/api/ConsumerStats.java | 6 +- .../apache/pulsar/client/api/ProducerStats.java | 6 +- .../org/apache/pulsar/client/api/PulsarClient.java | 23 +- .../client/api/TransactionIsolationLevel.java | 19 +- pulsar-client-auth-athenz/pom.xml | 3 +- pulsar-client-auth-sasl/pom.xml | 3 +- pulsar-client-messagecrypto-bc/pom.xml | 3 +- pulsar-client-shaded/pom.xml | 3 +- pulsar-client-tools-api/pom.xml | 3 +- pulsar-client-tools-customcommand-example/pom.xml | 3 +- pulsar-client-tools-test/pom.xml | 3 +- .../apache/pulsar/admin/cli/CmdFunctionsTest.java | 4 +- .../pulsar/admin/cli/PulsarAdminToolTest.java | 4 +- .../cli/utils/NameValueParameterSplitterTest.java | 52 - pulsar-client-tools/pom.xml | 3 +- .../org/apache/pulsar/admin/cli/CmdFunctions.java | 25 +- .../java/org/apache/pulsar/admin/cli/CmdSinks.java | 22 +- .../org/apache/pulsar/admin/cli/CmdSources.java | 21 +- .../org/apache/pulsar/admin/cli/CmdTopics.java | 22 +- .../apache/pulsar/admin/cli/utils/CmdUtils.java | 11 +- .../cli/utils/NameValueParameterSplitter.java | 61 - .../org/apache/pulsar/client/cli/CmdProduce.java | 9 +- .../java/org/apache/pulsar/client/cli/CmdRead.java | 3 +- .../org/apache/pulsar/admin/cli/TestCmdSinks.java | 16 +- .../apache/pulsar/admin/cli/TestCmdSources.java | 16 +- pulsar-client/pom.xml | 14 +- .../client/impl/BatchMessageContainerImpl.java | 6 +- .../client/impl/BinaryProtoLookupService.java | 63 +- .../pulsar/client/impl/ClientBuilderImpl.java | 7 + .../org/apache/pulsar/client/impl/ClientCnx.java | 25 +- .../pulsar/client/impl/ConnectionHandler.java | 1 + .../apache/pulsar/client/impl/ConnectionPool.java | 29 +- .../pulsar/client/impl/ConsumerBuilderImpl.java | 8 +- .../apache/pulsar/client/impl/ConsumerImpl.java | 85 +- .../pulsar/client/impl/HttpLookupService.java | 83 +- .../apache/pulsar/client/impl/LookupService.java | 27 +- .../pulsar/client/impl/MessageIdAdvUtils.java | 19 +- .../client/impl/MultiTopicsConsumerImpl.java | 2 +- .../impl/PatternMultiTopicsConsumerImpl.java | 2 + .../PersistentAcknowledgmentsGroupingTracker.java | 18 +- .../apache/pulsar/client/impl/ProducerImpl.java | 603 +++--- .../pulsar/client/impl/PulsarClientImpl.java | 51 +- .../pulsar/client/impl/ReaderBuilderImpl.java | 5 +- .../pulsar/client/impl/TopicListWatcher.java | 1 + .../client/impl/TransactionMetaStoreHandler.java | 2 + .../pulsar/client/impl/UnAckedMessageTracker.java | 18 +- .../client/impl/conf/ClientConfigurationData.java | 3 + .../impl/conf/ConsumerConfigurationData.java | 2 +- .../apache/pulsar/client/impl/metrics/Counter.java | 60 + .../client/impl/metrics/InstrumentProvider.java | 58 + .../client/impl/metrics/LatencyHistogram.java | 110 ++ .../pulsar/client/impl/metrics/MetricsUtil.java | 59 + .../apache/pulsar/client/impl/metrics/Unit.java | 45 +- .../pulsar/client/impl/metrics/UpDownCounter.java | 68 + .../pulsar/client/impl/metrics}/package-info.java | 6 +- .../TransactionCoordinatorClientImpl.java | 3 +- .../apache/pulsar/client/util/MessageIdUtils.java | 2 + .../org/apache/pulsar/client/util/RetryUtil.java | 2 +- .../impl/AcknowledgementsGroupingTrackerTest.java | 5 +- .../client/impl/BinaryProtoLookupServiceTest.java | 2 + .../apache/pulsar/client/impl/BuildersTest.java | 2 +- .../impl/ClientCnxRequestTimeoutQueueTest.java | 3 +- .../apache/pulsar/client/impl/ClientCnxTest.java | 19 +- .../pulsar/client/impl/ConsumerImplTest.java | 1 + .../pulsar/client/impl/MessageIdAdvUtilsTest.java | 76 + .../client/impl/MultiTopicsConsumerImplTest.java | 12 +- .../pulsar/client/impl/OpSendMsgQueueTest.java | 3 +- .../client/impl/PartitionedProducerImplTest.java | 2 + .../pulsar/client/impl/ProducerImplTest.java | 2 + .../pulsar/client/impl/PulsarClientImplTest.java | 8 +- .../client/impl/UnAckedMessageTrackerTest.java | 3 + .../impl/conf/ClientConfigurationDataTest.java | 32 + pulsar-common/pom.xml | 3 +- .../org/apache/pulsar/client/api/MessageIdAdv.java | 2 + .../pulsar/common/lookup/GetTopicsResult.java | 106 +- .../apache/pulsar/common/nar/NarClassLoader.java | 16 + .../common/policies/data/OffloadPoliciesImpl.java | 7 +- .../policies/data/stats/ConsumerStatsImpl.java | 3 + .../policies/data/stats/SubscriptionStatsImpl.java | 2 +- .../apache/pulsar/common/protocol/Commands.java | 8 +- .../pulsar/common/protocol/PulsarDecoder.java | 2 +- .../pulsar/common/protocol/PulsarHandler.java | 31 +- .../org/apache/pulsar/common/util}/Backoff.java | 2 +- .../apache/pulsar/common/util}/BackoffBuilder.java | 5 +- .../org/apache/pulsar/common/util/FutureUtil.java | 37 +- .../pulsar/common/util/SimpleTextOutputStream.java | 16 +- .../common/util/collections/ConcurrentBitSet.java | 363 +++- .../pulsar/common/util/netty/DnsResolverUtil.java | 52 +- .../policies/data/loadbalancer/BundleData.java | 14 +- .../data/loadbalancer/LocalBrokerData.java | 13 +- .../data/loadbalancer/TimeAverageMessageData.java | 46 +- pulsar-common/src/main/proto/PulsarApi.proto | 2 + .../apache/pulsar/common/util}/BackoffTest.java | 2 +- .../pulsar/common/util/netty/DnsResolverTest.java | 44 + pulsar-config-validation/pom.xml | 5 +- pulsar-docs-tools/pom.xml | 2 +- pulsar-function-go/conf/conf.go | 2 + pulsar-function-go/examples/go.mod | 8 +- pulsar-function-go/examples/go.sum | 16 +- pulsar-function-go/go.mod | 8 +- pulsar-function-go/go.sum | 16 +- pulsar-function-go/pf/instanceConf.go | 11 + pulsar-function-go/pf/instanceConf_test.go | 207 +++ pulsar-functions/api-java/pom.xml | 2 +- .../pulsar/functions/api/utils/JavaSerDe.java | 69 - pulsar-functions/instance/pom.xml | 8 +- .../functions/instance/JavaInstanceRunnable.java | 8 +- .../functions/instance/go/GoInstanceConfig.java | 2 + pulsar-functions/java-examples-builtin/pom.xml | 2 +- pulsar-functions/java-examples/pom.xml | 2 +- pulsar-functions/localrun-shaded/pom.xml | 9 +- pulsar-functions/localrun/pom.xml | 5 +- .../org/apache/pulsar/functions/LocalRunner.java | 70 +- pulsar-functions/pom.xml | 2 +- pulsar-functions/proto/pom.xml | 2 +- pulsar-functions/runtime-all/pom.xml | 5 +- pulsar-functions/runtime/pom.xml | 6 +- .../functions/runtime/JavaInstanceStarter.java | 72 +- .../pulsar/functions/runtime/RuntimeUtils.java | 6 + .../pulsar/functions/worker/WorkerConfig.java | 16 + .../runtime/kubernetes/KubernetesRuntimeTest.java | 8 + pulsar-functions/secrets/pom.xml | 2 +- pulsar-functions/utils/pom.xml | 2 +- pulsar-functions/worker/pom.xml | 5 +- .../functions/worker/FunctionWorkerStarter.java | 2 +- .../pulsar/functions/worker/rest/WorkerServer.java | 38 +- pulsar-io/aerospike/pom.xml | 2 +- pulsar-io/alluxio/pom.xml | 12 +- pulsar-io/aws/pom.xml | 2 +- pulsar-io/azure-data-explorer/pom.xml | 2 +- pulsar-io/batch-data-generator/pom.xml | 2 +- pulsar-io/batch-discovery-triggerers/pom.xml | 2 +- pulsar-io/canal/pom.xml | 2 +- pulsar-io/cassandra/pom.xml | 2 +- pulsar-io/common/pom.xml | 2 +- pulsar-io/core/pom.xml | 2 +- pulsar-io/data-generator/pom.xml | 2 +- pulsar-io/debezium/core/pom.xml | 2 +- pulsar-io/debezium/mongodb/pom.xml | 2 +- pulsar-io/debezium/mssql/pom.xml | 2 +- pulsar-io/debezium/mysql/pom.xml | 2 +- pulsar-io/debezium/oracle/pom.xml | 2 +- pulsar-io/debezium/pom.xml | 2 +- pulsar-io/debezium/postgres/pom.xml | 2 +- pulsar-io/docs/pom.xml | 2 +- .../pulsar/io/docs/ConnectorDocGenerator.java | 57 +- pulsar-io/dynamodb/pom.xml | 2 +- pulsar-io/elastic-search/pom.xml | 2 +- .../elastic/ElasticSearchJavaRestClient.java | 5 +- .../opensearch/OpenSearchHighLevelRestClient.java | 1 + .../io/elasticsearch/ElasticSearchClientTests.java | 34 + .../io/elasticsearch/ElasticSearchSinkTests.java | 13 + pulsar-io/file/pom.xml | 2 +- pulsar-io/flume/pom.xml | 2 +- pulsar-io/hbase/pom.xml | 2 +- pulsar-io/hdfs2/pom.xml | 4 +- pulsar-io/hdfs3/pom.xml | 4 +- pulsar-io/http/pom.xml | 2 +- pulsar-io/influxdb/pom.xml | 2 +- pulsar-io/jdbc/clickhouse/pom.xml | 2 +- pulsar-io/jdbc/core/pom.xml | 9 +- .../pulsar/io/jdbc/BaseJdbcAutoSchemaSink.java | 5 + .../pulsar/io/jdbc/BaseJdbcAutoSchemaSinkTest.java | 25 + pulsar-io/jdbc/mariadb/pom.xml | 2 +- pulsar-io/jdbc/openmldb/pom.xml | 2 +- pulsar-io/jdbc/pom.xml | 2 +- pulsar-io/jdbc/postgres/pom.xml | 2 +- pulsar-io/jdbc/sqlite/pom.xml | 2 +- .../apache/pulsar/io/jdbc/SqliteJdbcSinkTest.java | 31 +- pulsar-io/kafka-connect-adaptor-nar/pom.xml | 2 +- pulsar-io/kafka-connect-adaptor/pom.xml | 8 +- .../kafka/connect/PulsarKafkaSinkTaskContext.java | 4 +- .../io/kafka/connect/KafkaConnectSinkTest.java | 12 +- pulsar-io/kafka/pom.xml | 2 +- .../pulsar/io/kafka/KafkaAbstractSource.java | 28 +- .../io/kafka/source/KafkaAbstractSourceTest.java | 89 + pulsar-io/kinesis/pom.xml | 2 +- pulsar-io/mongo/pom.xml | 2 +- pulsar-io/netty/pom.xml | 2 +- pulsar-io/nsq/pom.xml | 2 +- pulsar-io/pom.xml | 2 +- pulsar-io/rabbitmq/pom.xml | 6 +- .../pulsar/io/rabbitmq/RabbitMQBrokerManager.java | 33 +- pulsar-io/redis/pom.xml | 2 +- pulsar-io/solr/pom.xml | 6 +- pulsar-io/twitter/pom.xml | 2 +- pulsar-metadata/pom.xml | 4 +- .../metadata/api/MetadataEventSynchronizer.java | 2 +- .../apache/pulsar/metadata/api/MetadataStore.java | 22 + .../api/extended/MetadataStoreExtended.java | 2 + .../coordination/impl/LeaderElectionImpl.java | 22 +- .../coordination/impl/LockManagerImpl.java | 10 +- .../coordination/impl/ResourceLockImpl.java | 37 +- .../metadata/impl/AbstractMetadataStore.java | 13 +- .../metadata/impl/LocalMemoryMetadataStore.java | 9 +- .../pulsar/metadata/impl/RocksdbMetadataStore.java | 9 +- .../pulsar/metadata/impl/ZKMetadataStore.java | 15 +- .../batching/AbstractBatchedMetadataStore.java | 11 +- .../metadata/impl/oxia/OxiaMetadataStore.java | 81 +- .../apache/pulsar/metadata/LockManagerTest.java | 31 + .../org/apache/pulsar/metadata/TestZKServer.java | 1 + .../impl/LocalMemoryMetadataStoreTest.java | 4 +- pulsar-opentelemetry/pom.xml | 16 +- .../opentelemetry/OpenTelemetryAttributes.java | 86 + .../pulsar/opentelemetry/OpenTelemetryService.java | 24 +- .../opentelemetry/OpenTelemetryServiceTest.java | 48 + .../bookkeeper-storage/pom.xml | 2 +- pulsar-package-management/core/pom.xml | 2 +- .../filesystem-storage/pom.xml | 2 +- pulsar-package-management/pom.xml | 3 +- pulsar-proxy/pom.xml | 8 +- .../pulsar/proxy/server/AdminProxyHandler.java | 1 + .../pulsar/proxy/server/LookupProxyHandler.java | 3 +- .../apache/pulsar/proxy/server/ProxyClientCnx.java | 3 +- .../pulsar/proxy/server/ProxyConfiguration.java | 22 + .../pulsar/proxy/server/ProxyConnection.java | 6 +- .../apache/pulsar/proxy/server/ProxyService.java | 3 +- .../pulsar/proxy/server/ProxyServiceStarter.java | 71 +- .../org/apache/pulsar/proxy/server/WebServer.java | 34 +- .../proxy/server/ProxyOriginalClientIPTest.java | 157 ++ .../pulsar/proxy/server/ProxyParserTest.java | 5 +- .../ProxyServiceStarterDisableZeroCopyTest.java | 2 +- .../proxy/server/ProxyServiceStarterTest.java | 2 +- .../proxy/server/ProxyServiceTlsStarterTest.java | 2 +- .../org/apache/pulsar/proxy/server/ProxyTest.java | 5 +- .../src/test/resources/log4j2.xml | 7 +- pulsar-testclient/pom.xml | 20 +- .../proxy/socket/client/PerformanceClient.java | 209 +-- .../apache/pulsar/testclient/BrokerMonitor.java | 62 +- .../java/org/apache/pulsar/testclient/CmdBase.java | 80 + .../testclient/CmdGenerateDocumentation.java | 66 +- .../pulsar/testclient/LoadSimulationClient.java | 89 +- .../testclient/LoadSimulationController.java | 88 +- .../pulsar/testclient/ManagedLedgerWriter.java | 163 +- .../apache/pulsar/testclient/PerfClientUtils.java | 5 +- .../testclient/PerformanceBaseArguments.java | 153 +- .../pulsar/testclient/PerformanceConsumer.java | 499 +++-- .../pulsar/testclient/PerformanceProducer.java | 413 ++--- .../pulsar/testclient/PerformanceReader.java | 109 +- .../testclient/PerformanceTopicListArguments.java | 4 + .../pulsar/testclient/PerformanceTransaction.java | 236 ++- .../pulsar/testclient/ProxyProtocolConverter.java | 18 +- .../pulsar/testclient/PulsarPerfTestTool.java | 133 ++ .../proxy/socket/client/PerformanceClientTest.java | 31 +- .../pulsar/testclient/GenerateDocumentionTest.java | 4 +- .../Oauth2PerformanceTransactionTest.java | 2 +- .../pulsar/testclient/PerfClientUtilsTest.java | 38 +- .../testclient/PerformanceBaseArgumentsTest.java | 153 +- .../pulsar/testclient/PerformanceProducerTest.java | 34 +- .../testclient/PerformanceTransactionTest.java | 6 +- pulsar-transaction/common/pom.xml | 2 +- pulsar-transaction/coordinator/pom.xml | 2 +- pulsar-transaction/pom.xml | 2 +- pulsar-websocket/pom.xml | 3 +- .../apache/pulsar/websocket/WebSocketService.java | 3 +- .../pulsar/websocket/service/ProxyServer.java | 39 +- .../service/WebSocketProxyConfiguration.java | 17 + .../websocket/service/WebSocketServiceStarter.java | 2 +- src/rename-netty-native-libs.cmd | 22 +- src/rename-netty-native-libs.sh | 6 + structured-event-log/pom.xml | 5 +- testmocks/pom.xml | 2 +- .../bookkeeper/client/PulsarMockBookKeeper.java | 7 + .../bookkeeper/client/PulsarMockLedgerHandle.java | 7 + tests/bc_2_0_0/pom.xml | 2 +- tests/bc_2_0_1/pom.xml | 2 +- tests/bc_2_6_0/pom.xml | 2 +- tests/docker-images/java-test-functions/pom.xml | 2 +- tests/docker-images/java-test-image/pom.xml | 6 +- tests/docker-images/java-test-plugins/pom.xml | 2 +- .../docker-images/latest-version-image/Dockerfile | 6 +- .../latest-version-image/conf/bookie.conf | 2 +- .../latest-version-image/conf/broker.conf | 2 +- .../conf/functions_worker.conf | 2 +- .../latest-version-image/conf/global-zk.conf | 2 +- .../latest-version-image/conf/local-zk.conf | 2 +- .../latest-version-image/conf/proxy.conf | 2 +- .../latest-version-image/conf/websocket.conf | 2 +- tests/docker-images/latest-version-image/pom.xml | 10 +- tests/docker-images/pom.xml | 2 +- tests/integration/pom.xml | 2 +- .../loadbalance/ExtensibleLoadManagerTest.java | 3 +- tests/pom.xml | 2 +- tests/pulsar-client-admin-shade-test/pom.xml | 2 +- tests/pulsar-client-all-shade-test/pom.xml | 2 +- tests/pulsar-client-shade-test/pom.xml | 2 +- tiered-storage/file-system/pom.xml | 9 +- tiered-storage/jcloud/pom.xml | 3 +- .../jcloud/JCloudLedgerOffloaderFactory.java | 16 +- .../impl/BlobStoreBackedInputStreamImpl.java | 26 +- .../jcloud/impl/BlobStoreBackedReadHandleImpl.java | 37 +- .../impl/BlobStoreBackedReadHandleImplV2.java | 13 +- .../impl/BlobStoreManagedLedgerOffloader.java | 14 +- .../mledger/offload/jcloud/impl/OffsetsCache.java | 85 + .../jcloud/BlobStoreBackedInputStreamTest.java | 5 +- .../impl/BlobStoreBackedInputStreamTest.java | 50 +- .../impl/BlobStoreManagedLedgerOffloaderBase.java | 9 + ...obStoreManagedLedgerOffloaderStreamingTest.java | 58 +- .../impl/BlobStoreManagedLedgerOffloaderTest.java | 29 +- .../offload/jcloud/impl/OffsetsCacheTest.java | 46 +- tiered-storage/pom.xml | 3 +- 698 files changed, 27336 insertions(+), 7728 deletions(-) create mode 100644 managed-ledger/src/main/java/org/apache/bookkeeper/mledger/util/ManagedLedgerImplUtils.java create mode 100644 managed-ledger/src/test/java/org/apache/bookkeeper/mledger/impl/ReadOnlyManagedLedgerImplTest.java create mode 100644 managed-ledger/src/test/java/org/apache/bookkeeper/mledger/util/ManagedLedgerImplUtilsTest.java create mode 100644 pip/pip-327.md create mode 100644 pip/pip-344.md create mode 100644 pip/pip-347.md create mode 100644 pip/pip-348.md create mode 100644 pip/pip-349.md create mode 100644 pip/pip-350.md create mode 100644 pip/pip-353.md create mode 100644 pip/pip-354.md create mode 100644 pip/pip-356.md delete mode 100644 pulsar-broker-common/src/main/java/org/apache/pulsar/broker/ClassLoaderSwitcher.java create mode 100644 pulsar-broker-common/src/main/java/org/apache/pulsar/broker/web/GzipHandlerUtil.java copy pulsar-common/src/test/java/org/apache/pulsar/common/util/netty/DnsResolverTest.java => pulsar-broker-common/src/test/java/org/apache/pulsar/broker/web/GzipHandlerUtilTest.java (50%) rename pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/validators/PositiveLongValueValidator.java => pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/strategy/BrokerSelectionStrategyFactory.java (66%) delete mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/impl/DeviationShedder.java create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/OpenTelemetryConsumerStats.java create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/OpenTelemetryTopicStats.java delete mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/TimeWindow.java delete mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/WindowWrap.java create mode 100644 pulsar-broker/src/main/java/org/apache/pulsar/broker/stats/prometheus/MetricsExports.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/PrometheusMetricsTestUtil.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/TestNGInstanceOrder.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AuthZTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/GetPartitionMetadataTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/TransactionAndSchemaAuthZTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/ExtensibleLoadManagerCloseTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/loadbalance/extensions/strategy/CustomBrokerSelectionStrategyTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/protocol/PulsarClientBasedHandler.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/protocol/PulsarClientBasedHandlerTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupReportLocalUsageTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/DeduplicationDisabledBrokerLevelTest.java copy pulsar-broker/src/test/java/org/apache/pulsar/broker/service/{OneWayReplicatorTestBase.java => GeoReplicationWithConfigurationSyncTestBase.java} (86%) create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/OneWayReplicatorUsingGlobalZKTest.java rename pulsar-broker/src/test/java/org/apache/pulsar/broker/service/{ReplicatorSubscriptionTest.java => ReplicatedSubscriptionTest.java} (91%) create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ReplicatedSubscriptionWithTransactionTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/ReplicationTxnTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/SyncConfigStoreTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/TransactionalReplicateSubscriptionTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumersTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/AuthenticatedConsumerStatsTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/BrokerOpenTelemetryTestUtil.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/OpenTelemetryConsumerStatsTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/OpenTelemetryTopicStatsTest.java delete mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/TimeWindowTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/stats/prometheus/PrometheusMetricsGeneratorTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/broker/web/WebServiceOriginalClientIPTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/api/DeadLetterTopicDefaultMultiPartitionsTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/api/SimpleProducerConsumerMLInitializeDelayTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/impl/LookupServiceTest.java create mode 100644 pulsar-broker/src/test/java/org/apache/pulsar/client/metrics/ClientMetricsTest.java delete mode 100644 pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/converters/TimeUnitToSecondsConverter.java delete mode 100644 pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/validators/MinNegativeOneValidator.java delete mode 100644 pulsar-cli-utils/src/test/java/org/apache/pulsar/cli/validators/CliUtilValidatorsTest.java create mode 100644 pulsar-client-admin/src/test/java/org/apache/pulsar/client/admin/internal/PulsarAdminGzipTest.java rename pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/validators/IntegerMaxValueLongValidator.java => pulsar-client-api/src/main/java/org/apache/pulsar/client/api/TransactionIsolationLevel.java (62%) delete mode 100644 pulsar-client-tools-test/src/test/java/org/apache/pulsar/admin/cli/utils/NameValueParameterSplitterTest.java delete mode 100644 pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/utils/NameValueParameterSplitter.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics/Counter.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics/InstrumentProvider.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics/LatencyHistogram.java create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics/MetricsUtil.java rename pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/validators/NonNegativeValueValidator.java => pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics/Unit.java (57%) create mode 100644 pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics/UpDownCounter.java rename {pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/validators => pulsar-client/src/main/java/org/apache/pulsar/client/impl/metrics}/package-info.java (89%) create mode 100644 pulsar-client/src/test/java/org/apache/pulsar/client/impl/MessageIdAdvUtilsTest.java rename {pulsar-client/src/main/java/org/apache/pulsar/client/impl => pulsar-common/src/main/java/org/apache/pulsar/common/util}/Backoff.java (99%) rename {pulsar-client/src/main/java/org/apache/pulsar/client/impl => pulsar-common/src/main/java/org/apache/pulsar/common/util}/BackoffBuilder.java (91%) rename {pulsar-client/src/test/java/org/apache/pulsar/client/impl => pulsar-common/src/test/java/org/apache/pulsar/common/util}/BackoffTest.java (99%) delete mode 100644 pulsar-functions/api-java/src/main/java/org/apache/pulsar/functions/api/utils/JavaSerDe.java create mode 100644 pulsar-proxy/src/test/java/org/apache/pulsar/proxy/server/ProxyOriginalClientIPTest.java copy {pulsar-broker => pulsar-proxy}/src/test/resources/log4j2.xml (85%) create mode 100644 pulsar-testclient/src/main/java/org/apache/pulsar/testclient/CmdBase.java rename pulsar-cli-utils/src/main/java/org/apache/pulsar/cli/validators/PositiveIntegerValueValidator.java => pulsar-testclient/src/main/java/org/apache/pulsar/testclient/ProxyProtocolConverter.java (60%) create mode 100644 pulsar-testclient/src/main/java/org/apache/pulsar/testclient/PulsarPerfTestTool.java create mode 100644 tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffsetsCache.java copy pulsar-functions/api-java/src/test/java/org/apache/pulsar/functions/api/utils/JavaSerDeTest.java => tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedInputStreamTest.java (51%) rename pulsar-functions/api-java/src/test/java/org/apache/pulsar/functions/api/utils/JavaSerDeTest.java => tiered-storage/jcloud/src/test/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffsetsCacheTest.java (52%)