Skip to content

Releases: apache/pulsar

v4.0.2

20 Jan 14:54
v4.0.2
Compare
Choose a tag to compare

v3.3.4

20 Jan 10:04
v3.3.4
Compare
Choose a tag to compare

2025-01-20

Library updates

  • [improve] Upgrade lombok to 1.18.36 (#23752)
  • [improve] Upgrade to Netty 4.1.116.Final and io_uring to 0.0.26.Final (#23813)
  • [improve][monitor] Upgrade OTel to 1.45.0 (#23756)
  • [fix][sec] Bump commons-io version to 2.18.0 (#23684)
  • [fix][sec] Mitigate CVE-2024-53990 by disabling AsyncHttpClient CookieStore (#23725)
  • [fix][sec] Upgrade async-http-client to 2.12.4 to address CVE-2024-53990 (#23732)
  • [fix][sec] Upgrade golang.org/x/crypto from 0.21.0 to 0.31.0 in pulsar-function-go (#23743)

Broker

  • [feat][broker] Implement allowBrokerOperationAsync in PulsarAuthorizationProvider to avoid exception thrown (#23663)
  • [fix][admin] Fix exception loss in getMessageId method (#23766)
  • [fix][admin] Fix exception thrown in getMessageId method (#23784)
  • [fix][broker] Add consumer name for subscription stats (#23671)
  • [fix][broker] Catch exception for entry payload interceptor processor (#23683)
  • [fix][broker] Continue using the next provider for authentication if one fails (#23797)
  • [fix][broker] Fix bug causing loss of migrated information when setting other localPolicies in namespace (#23764)
  • [fix][broker] Fix config replicationStartAt does not work when set it to earliest (#23719)
  • [fix][broker] Fix enableReplicatedSubscriptions (#23781)
  • [fix][broker] Fix items in dispatcher.recentlyJoinedConsumers are out-of-order, which may cause a delivery stuck (#23802)
  • [fix][broker] Invoke custom BrokerInterceptor's onFilter method if it's defined (#23676)
  • [fix][broker] Remove failed OpAddEntry from pendingAddEntries (#23817)
  • [fix][broker] Skip to persist cursor info if it failed by cursor closed (#23615)
  • [fix][broker] System topic should not be migrated during blue-green cluster migration (#23767)
  • [fix][broker] fix NPE when calculating a topic's backlogQuota (#23720)
  • [fix][broker] support missing cluster level fine-granted permissions (#23675)
  • [fix][broker] support missing tenant level fine-granted permissions (#23660)
  • [fix][broker] support missing broker level fine-granted permissions (#23637)
  • [fix][broker] Msg delivery is stuck due to items in the collection recentlyJoinedConsumers are out-of-order (#23795)
  • [fix][common] TopicName: Throw IllegalArgumentException if localName is whitespace only (#23691)
  • [fix][ml] Topic load timeout due to ml data ledger future never finishes (#23772)
  • [improve][admin] Opt-out of topic-existence check (#23709)
  • [improve][broker][branch-3.3] Optimize PersistentTopic.getLastDispatchablePosition (#22707) (#23826)

Client

  • [Fix][Client] Fix pending message not complete when closeAsync (#23761)
  • [fix][client] Cannot access message data inside ProducerInterceptor#onSendAcknowledgement (#23791)
  • [fix][client] Fix enableRetry for consumers using legacy topic naming where cluster name is included (#23753)
  • [fix][client] Fix memory leak when publishing encountered a corner case error (#23738)
  • [fix][client] Fix reader message filtering issue during blue-green cluster switch (#23693)
  • [fix][client] Make DeadLetterPolicy & KeySharedPolicy serializable (#23718)
  • [fix][client] Prevent retry topic and dead letter topic producer leaks when sending of message fails (#23824)
  • [improve][client] Make replicateSubscriptionState nullable (#23757)

Pulsar IO and Pulsar Functions

  • [improve][fn] Improve closing of producers in Pulsar Functions ProducerCache invalidation (#23734)
  • [improve][fn] Improve implementation for maxPendingAsyncRequests async concurrency limit when return type is CompletableFuture (#23708)

Others

  • [fix][cli] Fix set topic retention policy failed (#23688)
  • [fix][cli] Fix set-retention with >2GB size value for topic policy (#23689)
  • [fix] Fix issues with Pulsar Alpine docker image stability: remove glibc-compat (#23762)
  • [improve] Install coreutils in docker image to improve compatibility (#23667)

Tests & CI

  • [fix][test] Remove useless test code (#23823)
  • [fix][test]: Flaky-test: GetPartitionMetadataMultiBrokerTest.testCompatibilityDifferentBrokersForNonPersistentTopic (#23666)

For the complete list, check the full changelog.

v3.0.9

20 Jan 14:28
v3.0.9
Compare
Choose a tag to compare

2025-01-20

Library updates

  • [fix][sec] Bump commons-io version to 2.18.0 (#23684)
  • [fix][sec] Mitigate CVE-2024-53990 by disabling AsyncHttpClient CookieStore (#23725)
  • [fix][sec] Upgrade async-http-client to 2.12.4 to address CVE-2024-53990 (#23732)
  • [fix][sec] Upgrade golang.org/x/crypto from 0.21.0 to 0.31.0 in pulsar-function-go (#23743)
  • [improve] Upgrade lombok to 1.18.36 (#23752)
  • [improve] Upgrade to Netty 4.1.116.Final and io_uring to 0.0.26.Final (#23813)

Broker

  • [fix][broker] Msg delivery is stuck due to items in the collection recentlyJoinedConsumers are out-of-order (#23795)
  • [fix][broker] Add consumer name for subscription stats (#23671)
  • [fix][broker] Catch exception for entry payload interceptor processor (#23683)
  • [fix][broker] Continue using the next provider for authentication if one fails (#23797)
  • [fix][broker] Fix config replicationStartAt does not work when set it to earliest (#23719)
  • [fix][broker] Fix enableReplicatedSubscriptions (#23781)
  • [fix][broker] Fix items in dispatcher.recentlyJoinedConsumers are out-of-order, which may cause a delivery stuck (#23802)
  • [fix][broker] Remove failed OpAddEntry from pendingAddEntries (#23817)
  • [fix][broker] Skip to persist cursor info if it failed by cursor closed (#23615)
  • [fix][broker] fix NPE when calculating a topic's backlogQuota (#23720)
  • [fix][admin] Fix exception loss in getMessageId method (#23766)
  • [fix][admin] Fix exception thrown in getMessageId method (#23784)
  • [fix][admin] Listen partitioned topic creation event (#23680)
  • [improve][admin] Opt-out of topic-existence check (#23709)
  • [improve][log] Print ZK path if write to ZK fails due to data being too large to persist (#23652)
  • [fix][ml] Topic load timeout due to ml data ledger future never finishes (#23772)

Client

  • [Fix][Client] Fix pending message not complete when closeAsync (#23761)
  • [fix][client] Cannot access message data inside ProducerInterceptor#onSendAcknowledgement (#23791)
  • [fix][client] Fix enableRetry for consumers using legacy topic naming where cluster name is included (#23753)
  • [fix][client] Fix memory leak when publishing encountered a corner case error (#23738)
  • [fix][client] Fix wrong start message id when it's a chunked message id (#23713)
  • [fix][client] Make DeadLetterPolicy & KeySharedPolicy serializable (#23718)
  • [fix][client] Prevent retry topic and dead letter topic producer leaks when sending of message fails (#23824)
  • [fix][client][branch-3.0] Fix compatibility between kerberos and tls (#23801)
  • [improve][client] Make replicateSubscriptionState nullable (#23757)
  • [fix][doc] Refine ClientBuilder#memoryLimit and ConsumerBuilder#autoScaledReceiverQueueSizeEnabled javadoc (#23687)

Pulsar IO and Pulsar Functions

  • [improve][fn] Improve closing of producers in Pulsar Functions ProducerCache invalidation (#23734)
  • [improve][fn] Improve implementation for maxPendingAsyncRequests async concurrency limit when return type is CompletableFuture (#23708)
  • [improve][io] Bump io.lettuce:lettuce-core from 5.0.2.RELEASE to 6.5.1.RELEASE in /pulsar-io/redis (#23685)
  • [fix][fn][branch-3.0] Fix pulsar-function-go compilation

Others

  • [fix][common] TopicName: Throw IllegalArgumentException if localName is whitespace only (#23691)

Tests & CI

  • [fix][test] Remove useless test code (#23823)
  • [fix][test]: Flaky-test: GetPartitionMetadataMultiBrokerTest.testCompatibilityDifferentBrokersForNonPersistentTopic (#23666)

For the complete list, check the full changelog.

v3.3.3

03 Dec 14:43
v3.3.3
Compare
Choose a tag to compare

2024-12-03

Library updates

  • [fix][sec] Drop hdfs2 support, Upgrade hadoop3 to 3.4.0 and dnsjava to 3.6.2 to address CVE-2024-25638 (#23411)
  • [fix][sec] Replace bcprov-jdk15on dependency with bcprov-jdk18-on (#23532)
  • [fix][sec] Upgrade Zookeeper to 3.9.3 to address CVE-2024-51504 (#23581)
  • [fix][sec] Upgrade to Netty 4.1.115.Final to address CVE-2024-47535 (#23596)
  • [improve] Upgrade OpenTelemetry library to 1.44.1 version (#23656)
  • [improve] Upgrade oxia-java to 0.4.10 and fix closing of OxiaMetadataStore (#23653)

Broker

  • [fix][broker] Avoid orphan ledgers in BucketDelayedDeliveryTracker (#22802)
  • [fix][broker] Broker is failing to create non-durable sub if topic is fenced (#23579)
  • [fix][broker] Fix AvgShedder strategy check (#23156)
  • [fix][broker] Fix Broker migration NPE while broker tls url not configured (#23534)
  • [fix][broker] Fix currently client retries until operation timeout if the topic does not exist (#23530)
  • [fix][broker] Fix failed TokenAuthenticatedProducerConsumerTest (#23602)
  • [fix][broker] Fix namespace unload might be blocked too long with extensible load manager (#23433) (#23517)
  • [fix][broker] Fix ownership loss (#23515)
  • [fix][broker] Fix print cluster migration state response (#23535)
  • [fix][broker] Fix race-condition causing repeated delete topic (#23522)
  • [fix][broker] Fix the broker registering might be blocked for long time (#23371) (#23507)
  • [fix][broker] Fix unloadNamespaceBundlesGracefully can be stuck with extensible load manager (#23349) (#23496)
  • [fix][broker] Increase readBuffer size for bookkeeper.DLOutputStream (#23548)
  • [fix][broker] Topics failed to delete after remove cluster from replicated clusters set and caused OOM (#23360)
  • [fix][broker] fix logging with correct error message while loading the topic (#23544)
  • [fix][broker] fix null lookup result when brokers are starting (#23642)
  • [fix][broker] normalize path (#23438)
  • [fix][broker] timeout when broker registry hangs and monitor broker registry (ExtensibleLoadManagerImpl only) (#23382) (#23510)
  • [improve][broker] Add log to track issue when handleGetTopicsOfNamespace (#23434)
  • [improve][broker] Clear thread local BrokerEntryMetadata instance before reuse (#22752)
  • [improve][broker] Decouple pulsar_storage_backlog_age_seconds metric with backlogQuota check (#23619)
  • [improve][broker] Exclude system topics from namespace level publish and dispatch rate limiting (#23589)
  • [improve][broker] Make cluster metadata init command support metadata config path (#23269)
  • [improve][broker] Make cluster metadata teardown command support metadata config path (#23520)
  • [improve][broker] PIP-383: Support granting/revoking permissions for multiple topics (#23372)
  • [improve][broker] PIP-392: Add configuration to enable consistent hashing to select active consumer for partitioned topic (#23584)
  • [improve][broker] Skip unloading when bundle throughput is zero (ExtensibleLoadManagerImpl only) (#23626)
  • [improve][broker] Support cleanup replication cluster and allowed cluster when cluster metadata teardown (#23561)
  • [improve][broker] re-elect the channel owner if no channel owner is found (#23516) (#23580)
  • [improve][broker] replace HashMap with inner implementation ConcurrentLongLongPairHashMap in Negative Ack Tracker. (#23582)

Client

  • [fix][admin] Fix lookup get a null result if uses proxy (#23556)
  • [fix][client] Fix DLQ producer name conflicts when there are same name consumers (#23577)
  • [fix][client] Fix Reader.hasMessageAvailable return wrong value after seeking by timestamp with startMessageIdInclusive (#23502)
  • [fix][client] Fix ReaderBuilder doest not give illegalArgument on connection failure retry (#22639)
  • [fix][client] Fix deadlock of NegativeAcksTracker (#23651)
  • [fix][client] Fix producer/consumer stop to reconnect or Pub/Sub due to IO thread race-condition (#23499)
  • [fix][client] Fix race-condition causing doReconsumeLater to hang when creating retryLetterProducer has failed (#23560)
  • [fix][client] Fix the javadoc for ConsumerBuilder.isAckReceiptEnabled (#23452)
  • [fix][client] Fixed an issue where a cert chain could not be used in TLS authentication (#23644)
  • [fix][client] Initializing client-authentication using configured auth params (#23610)
  • [fix][client] Make protobuf-java dependency optional in java client libraries (#23632)
  • [fix][client] Prevent embedding protobuf-java class files in pulsar-client-admin and pulsar-client-all (#23468)
  • [fix][client] The partitionedProducer maxPendingMessages always is 0 (#23593)
  • [fix][client] Use dedicated executor for requests in BinaryProtoLookupService (#23378)
  • [fix][client] fix incomingMessageSize and client memory usage is negative (#23624)
  • [fix][client] fix the beforeConsume() method earlier hit with message listener (#23578)
  • [improve][admin] Print error log if handle http response fails (#23563)
  • [improve][client] Enhance error handling for non-exist subscription in consumer creation (#23254)
  • [improve][client] Increase default Java client connectionMaxIdleSeconds to 60 seconds (#23430)
  • [improve][client] Reduce unshaded dependencies and shading warnings in shaded Java client modules (#23647)
  • [improve][client] Replace NameUtil#generateRandomName with RandomStringUtils#randomAlphanumeric (#23645)

Pulsar IO and Pulsar Functions

  • [fix][fn] ack messages for window function when its result is null (#23618)
  • [improve][io] Support update subscription position for sink connector (#23538)
  • [improve][io] Upgrade Spring version to 6.1.13 in IO Connectors (#23459)

Others

  • [fix][misc] Class conflict during jetcd-core-shaded shading process (#23641)
  • [fix][misc] Unable to connect an etcd metastore with recent releases due to jetc-core sharding problem (#23604)
  • [fix][ml] Managed ledger should recover after open ledger failed (#23368)
  • [fix][proxy] Fix pattern consumer does not work when using Proxy (#23489)
  • [fix][ws] Implement missing http header data functions in AuthenticationDataSubscription (#23638)
  • [improve] Improve logic for enabling Netty leak detection (#23613)
  • [improve] Use single buffer for metrics when noUnsafe use (#23612)
  • [improve][misc] Disable OTel by default when running the pulsar-perf tool (#23585)
  • [improve][misc] Upgrade Jetty to 9.4.56.v20240826 (#23405)
  • [improve][ml] Avoid repetitive nested lock for isMessageDeleted in ManagedCursorImpl ([#23609](htt...
Read more

v4.0.1

02 Dec 18:53
v4.0.1
Compare
Choose a tag to compare

2024-12-02

Library updates

  • [feat][meta] Bump oxia java version from 0.4.5 to 0.4.7 (#23471)
  • [feat][misc] Upgrade oxia version to 0.4.9 (#23607)
  • [fix][sec] Replace bcprov-jdk15on dependency with bcprov-jdk18-on (#23532)
  • [fix][sec] Upgrade Zookeeper to 3.9.3 to address CVE-2024-51504 (#23581)
  • [fix][sec] Upgrade to Netty 4.1.115.Final to address CVE-2024-47535 (#23596)
  • [improve][monitor] Upgrade OTel to 1.41.0 (#23484)
  • [improve] Upgrade OpenTelemetry library to 1.44.1 version (#23656)
  • [improve] Upgrade oxia-java to 0.4.10 and fix closing of OxiaMetadataStore (#23653)

Broker

  • [feat][broker] Implement allowBrokerOperationAsync in PulsarAuthorizationProvider to avoid exception thrown (#23663)
  • [fix][broker] Broker is failing to create non-durable sub if topic is fenced (#23579)
  • [fix][broker] Fix Broker migration NPE while broker tls url not configured (#23534)
  • [fix][broker] Fix currently client retries until operation timeout if the topic does not exist (#23530)
  • [fix][broker] Fix failed TokenAuthenticatedProducerConsumerTest (#23602)
  • [fix][broker] Fix ownership loss (#23515)
  • [fix][broker] Fix print cluster migration state response (#23535)
  • [fix][broker] Fix race-condition causing repeated delete topic (#23522)
  • [fix][broker] Increase readBuffer size for bookkeeper.DLOutputStream (#23548)
  • [fix][broker] Key_Shared subscription: Reject consumers with incompatible policy (#23449)
  • [fix][broker] Revert "[improve][client] Add log when can't add message to the container (#23657)
  • [fix][broker] fix logging with correct error message while loading the topic (#23544)
  • [fix][broker] fix null lookup result when brokers are starting (#23642)
  • [fix][broker] support missing tenant level fine-granted permissions (#23660)
  • [fix][broker]: support missing broker level fine-granted permissions (#23637)
  • [improve][broker] Decouple pulsar_storage_backlog_age_seconds metric with backlogQuota check (#23619)
  • [improve][broker] Exclude system topics from namespace level publish and dispatch rate limiting (#23589)
  • [improve][broker] Make cluster metadata teardown command support metadata config path (#23520)
  • [improve][broker] PIP-392: Add configuration to enable consistent hashing to select active consumer for partitioned topic (#23584)
  • [improve][broker] Reduce memory occupation of InMemoryRedeliveryTracker. (#23640)
  • [improve][broker] Reduce memory occupation of the delayed message queue (#23611)
  • [improve][broker] Skip unloading when bundle throughput is zero (ExtensibleLoadManagerImpl only) (#23626)
  • [improve][broker] Support cleanup replication cluster and allowed cluster when cluster metadata teardown (#23561)
  • [improve][broker] re-elect the channel owner if no channel owner is found (#23516)
  • [improve][broker] replace HashMap with inner implementation ConcurrentLongLongPairHashMap in Negative Ack Tracker. (#23582)

Client

  • [fix][admin] Fix lookup get a null result if uses proxy (#23556)
  • [fix][client] Fix ConsumerStats.getRateMsgsReceived javadoc (#21618)
  • [fix][client] Fix DLQ producer name conflicts when there are same name consumers (#23577)
  • [fix][client] Fix Reader.hasMessageAvailable return wrong value after seeking by timestamp with startMessageIdInclusive (#23502)
  • [fix][client] Fix deadlock of NegativeAcksTracker (#23651)
  • [fix][client] Fix producer/consumer stop to reconnect or Pub/Sub due to IO thread race-condition (#23499)
  • [fix][client] Fix race-condition causing doReconsumeLater to hang when creating retryLetterProducer has failed (#23560)
  • [fix][client] Fix the javadoc for startMessageIdInclusive (#23508)
  • [fix][client] Fixed an issue where a cert chain could not be used in TLS authentication (#23644)
  • [fix][client] Initializing client-authentication using configured auth params (#23610)
  • [fix][client] Make protobuf-java dependency optional in java client libraries (#23632)
  • [fix][client] Prevent embedding protobuf-java class files in pulsar-client-admin and pulsar-client-all (#23468)
  • [fix][client] The partitionedProducer maxPendingMessages always is 0 (#23593)
  • [fix][client] Use dedicated executor for requests in BinaryProtoLookupService (#23378)
  • [fix][client] fix incomingMessageSize and client memory usage is negative (#23624)
  • [fix][client] fix the beforeConsume() method earlier hit with message listener (#23578)
  • [improve][admin] Print error log if handle http response fails (#23563)
  • [improve][client] Enhance error handling for non-exist subscription in consumer creation (#23254)
  • [improve][client] Reduce unshaded dependencies and shading warnings in shaded Java client modules (#23647)
  • [improve][client] Replace NameUtil#generateRandomName with RandomStringUtils#randomAlphanumeric (#23645)

Pulsar IO and Pulsar Functions

  • [fix][fn] ack messages for window function when its result is null (#23618)
  • [improve][io] Support update subscription position for sink connector (#23538)
  • [improve][io] Upgrade Spring version to 6.1.13 in IO Connectors (#23459)
  • [improve][io] Upgrade Spring version to 6.1.14 in IO Connectors (#23481)

Others

  • [feat][monitor] Add offloader stats grafana dashboard (#23479)
  • [fix][misc] Class conflict during jetcd-core-shaded shading process (#23641)
  • [fix][misc] Unable to connect an etcd metastore with recent releases due to jetc-core sharding problem (#23604)
  • [fix][proxy] Fix pattern consumer does not work when using Proxy (#23489)
  • [fix][standalone] correctly delete bookie registration znode (#23497)
  • [fix][ws] Implement missing http header data functions in AuthenticationDataSubscription (#23638)
  • [improve] Improve logic for enabling Netty leak detection (#23613)
  • [improve] Use single buffer for metrics when noUnsafe use (#23612)
  • [improve][misc] Disable OTel by default when running the pulsar-perf tool (#23585)
  • [improve][ml] Avoid repetitive nested lock for isMessageDeleted in ManagedCursorImpl (#23609)
  • [improve][offload] Use filesystemURI as the storage path (#23591)
  • Enabling DNS retryOnTimeout with TCP in DnsNameResolver (#23590)

Tests & CI

  • [cleanup][build] skip generating pom.xml.versionsBackup (#23639)
  • [fix][build] Fix error "Element encoding is not allowed here" in pom.xml (#23655)
  • [fix][test] Fix DeadLetterTopicTest.testDeadLetterTopicWithInitialSubscriptionAndMultiConsumers (#23552)
  • [fix][test] Fix ManagedCursorTest.testForceCursorRecovery (#23518)
  • [fix][test] Fix SimpleProducerConsumerT...
Read more

v3.0.8

02 Dec 18:17
v3.0.8
Compare
Choose a tag to compare

2024-12-02

Library updates

Broker

  • [fix][broker] Avoid orphan ledgers in BucketDelayedDeliveryTracker (#22802)
  • [fix][broker] Broker is failing to create non-durable sub if topic is fenced (#23579)
  • [fix][broker] Continue closing even when executor is shut down (#22599)
  • [fix][broker] Fix AvgShedder strategy check (#23156)
  • [fix][broker] Fix currently client retries until operation timeout if the topic does not exist (#23530)
  • [fix][broker] Fix failed TokenAuthenticatedProducerConsumerTest (#23602)
  • [fix][broker] Fix ownership loss (#23515)
  • [fix][broker] Fix race-condition causing repeated delete topic (#23522)
  • [fix][broker] Increase readBuffer size for bookkeeper.DLOutputStream (#23548)
  • [fix][broker] Topics failed to delete after remove cluster from replicated clusters set and caused OOM (#23360)
  • [fix][broker] fix null lookup result when brokers are starting (#23642)
  • [fix][broker] normalize path (#23438)
  • [improve][broker] Add log to track issue when handleGetTopicsOfNamespace (#23434)
  • [improve][broker] Close TopicPoliciesService to allow Pulsar broker graceful shutdown (#22589)
  • [improve][broker] Decouple pulsar_storage_backlog_age_seconds metric with backlogQuota check (#23619)
  • [improve][broker] Don't use forkjoin pool by default for deleting partitioned topics (#22598)
  • [improve][broker] Exclude system topics from namespace level publish and dispatch rate limiting (#23589)
  • [improve][broker] Make cluster metadata init command support metadata config path (#23269)
  • [improve][broker] Make cluster metadata teardown command support metadata config path (#23520)
  • [improve][broker] PIP-392: Add configuration to enable consistent hashing to select active consumer for partitioned topic (#23584)
  • [improve][broker] Support cleanup replication cluster and allowed cluster when cluster metadata teardown (#23561)
  • [improve][broker] replace HashMap with inner implementation ConcurrentLongLongPairHashMap in Negative Ack Tracker. (#23582)

Client

  • [fix][admin] Fix lookup get a null result if uses proxy (#23556)
  • [fix][client] Fix Reader.hasMessageAvailable return wrong value after seeking by timestamp with startMessageIdInclusive (#23502)
  • [fix][client] Fix deadlock of NegativeAcksTracker (#23651)
  • [fix][client] Fix producer/consumer stop to reconnect or Pub/Sub due to IO thread race-condition (#23499)
  • [fix][client] Fix race-condition causing doReconsumeLater to hang when creating retryLetterProducer has failed (#23560)
  • [fix][client] Fix the javadoc for ConsumerBuilder.isAckReceiptEnabled (#23452)
  • [fix][client] Fixed an issue where a cert chain could not be used in TLS authentication (#23644)
  • [fix][client] Initializing client-authentication using configured auth params (#23610)
  • [fix][client] Make protobuf-java dependency optional in java client libraries (#23632)
  • [fix][client] Prevent embedding protobuf-java class files in pulsar-client-admin and pulsar-client-all (#23468)
  • [fix][client] The partitionedProducer maxPendingMessages always is 0 (#23593)
  • [fix][client] Use dedicated executor for requests in BinaryProtoLookupService (#23378) (#23461)
  • [fix][client] fix incomingMessageSize and client memory usage is negative (#23624)
  • [fix][client] fix the beforeConsume() method earlier hit with message listener (#23578)
  • [improve][admin] Print error log if handle http response fails (#23563)
  • [improve][client] Enhance error handling for non-exist subscription in consumer creation (#23254)
  • [improve][client] Increase default Java client connectionMaxIdleSeconds to 60 seconds (#23430)
  • [improve][client] Reduce unshaded dependencies and shading warnings in shaded Java client modules (#23647)

Pulsar IO and Pulsar Functions

  • [fix][fn] ack messages for window function when its result is null (#23618)
  • [fix][sql][branch-3.0] Fix long decimal compatibility in Trino 368. (#23419)
  • [fix][sql][branch-3.0] Fix shading configuration for presto-pulsar
  • [improve][io] Support update subscription position for sink connector (#23538)
  • [improve][io] Upgrade Spring version to 6.1.13 in IO Connectors (#23459)

Others

  • [fix] Restored method as deprecated in AbstractMetadataStore (#21950)
  • [fix][misc] Class conflict during jetcd-core-shaded shading process (#23641)
  • [fix][misc] Unable to connect an etcd metastore with recent releases due to jetc-core sharding problem (#23604)
  • [fix][ml] Managed ledger should recover after open ledger failed (#23368)
  • [fix][proxy] Fix pattern consumer does not work when using Proxy (#23489)
  • [fix][standalone] correctly delete bookie registration znode (#23497)
  • [improve] Improve logic for enabling Netty leak detection (#23613)
  • [improve] Use single buffer for metrics when noUnsafe use (#23612)
  • [fix][ws] Implement missing http header data functions in AuthenticationDataSubscription (#23638)
  • [improve][ml] Avoid repetitive nested lock for isMessageDeleted in ManagedCursorImpl (#23609)
  • [improve][offload] Use filesystemURI as the storage path (#23591)
  • Enabling DNS retryOnTimeout with TCP in DnsNameResolver (#23590)

Tests & CI

  • [cleanup][build] skip generating pom.xml.versionsBackup (#23639)
  • [fix][build] Add basic support for vscode-java and Eclipse IDE (#23448)
  • [fix][build] Fix error "Element encoding is not allowed here" in pom.xml (#23655)
  • [fix][test] Address flaky GetPartitionMetadataMultiBrokerTest (#23456)
  • [fix][test] Fix DeadLetterTopicTest.testDeadLetterTopicWithInitialSubscriptionAndMultiConsumers (#23552)
  • [fix][test] Fix SimpleProducerConsumerTest.testMultiTopicsConsumerImplPauseForManualSubscription (#23546)
  • [fix][test] Fix flaky GetPartitionMetadataMultiBrokerTest.testCompatibilityDifferentBrokersForNonPersistentTopic (#23259)
  • [fix][test] Fix flaky test ManagedLedgerTest.testDeleteCurrentLedgerWhenItIsClosed (#23437)
  • [fix][test][branch-3.0] Fix PrecisTopicPublishRateThrottleTest that broke after #23589 changes
  • [fix][test][branch-3.0] Fix cherry-picking issue in 2f6c1a3 where Cleanup import was missing
  • [improve][build] Require Java 17 for building Pulsar branch-3.0 (#22875)
  • [improve][build] Update maven-wrapper (mvnw) to recent stable version 3.3.2 (#23410)
  • [improve][build][branch-3.0] Upgrade docker-maven-plugin to 0.45.1
  • [improve][test] Added message properties tests for batch and non-batch...
Read more

v4.0.0

21 Oct 18:07
v4.0.0
Compare
Choose a tag to compare

2024-10-21

Changes in 4.0.0 release since 3.3.0 release preparation was started.
For the complete list, check the full changelog and full PR list.

What's New in Apache Pulsar 4.0? covers topics such as:

  • Enhanced Key_Shared subscription implementation
  • Secure Docker runtime based on Alpine Linux and Java 21
  • Enhanced Quality of Service controls for multi-tenant deployments
  • Rate limiting as a foundation for multi-tenant resource management
  • Upgrade paths from previous versions
  • Client compatibility and Importance of upgrading Java clients to address CVE-2024-47561

PIPs accepted since 3.0.0 release

PIPs accepted in 4.0.0 release

  • PIP-327: Support force topic loading for unrecoverable errors (#21752)
  • PIP-337: SSL Factory Plugin to customize SSL Context and SSL Engine generation (#22016)
  • PIP-347: add role field in consumer's stat (#22564)
  • PIP-348: Trigger offload on topic load stage (#22650)
  • PIP-349: Add additionalSystemCursorNames ignore list for TTL check (#22651)
  • PIP-350: Allow to disable the managedLedgerOffloadDeletionLagInMillis (#22688)
  • PIP-351: Additional options for Pulsar-Test client to support KeyStore based TLS (#22694)
  • PIP-352: Event time based topic compactor (#22710)
  • PIP-353: Improve transaction message visibility for peek-messages (#22746)
  • PIP-354: apply topK mechanism to ModularLoadManagerImpl (#22765)
  • PIP-355: Enhancing Broker-Level Metrics for Pulsar (#22778)
  • PIP-356: Support Geo-Replication starts at earliest position (#22806)
  • PIP-357: Correct the conf name in load balance module. (#22823)
  • PIP-358: let resource weight work for OverloadShedder, LeastLongTermMessageRate, ModularLoadManagerImpl. (#22889)
  • PIP-359: Support custom message listener executor for specific subscription (#22902)
  • PIP-360: Add admin API to display Schema metadata (#22913)
  • PIP-363: Add callback parameters to the method: org.apache.pulsar.client.impl.SendCallback.sendComplete. (#22940)
  • PIP-364: Introduce a new load balance algorithm AvgShedder (#22946)
  • PIP-366: Support to specify different config for Configuration and Local Metadata Store (#23033)
  • PIP-367: Propose a Contributor Repository for Pulsar (#23061)
  • PIP-368: Support lookup based on the lookup properties (#23075)
  • PIP-369: Flag based selective unload on changing ns-isolation-policy (#23116)
  • PIP-370: configurable remote topic creation in geo-replication (#23124)
  • PIP-374: Visibility of messages in receiverQueue for the consumers (#23235)
  • PIP-376: Make topic policies service pluggable (#23248)
  • PIP-378: Add ServiceUnitStateTableView abstraction (ExtensibleLoadMangerImpl only) (#23300)
  • PIP-379: Key_Shared Draining Hashes for Improved Message Ordering (#23309)
  • PIP-381: Handle large PositionInfo state (#23328)
  • PIP-383: Support granting/revoking permissions for multiple topics (#23355)
  • PIP-384: ManagedLedger interface decoupling (#23363)

PIPs accepted in 3.3.0 release

PIPs accepted in 3.2.0 release

Read more

v3.3.2

04 Oct 18:51
v3.3.2
Compare
Choose a tag to compare

2024-10-04

Library updates

  • [fix][sec] Upgrade Avro to 1.11.4 to address CVE-2024-47561 (#23394)
  • [fix][sec] Upgrade vertx to 4.5.10 to address CVE-2024-8391 (#23338)
  • [fix][sec][branch-3.3] Upgrade protobuf-java to 3.25.5 (#23356) (#23358)
  • [improve][misc] Upgrade Netty to 4.1.113 and netty-tcnative to 2.0.66 (#23255)
  • [fix] Bump commons-io:commons-io from 2.8.0 to 2.14.0 (#23393)
  • [fix] Bump io.grpc from 1.56.0 to 1.56.1 (#23276)
  • [fix][metadata] Upgrade Oxia to 0.3.2 (#23140)
  • [feat][meta] Bump oxia java version from 0.3.2 to 0.4.5 (#23277)
  • [improve] Upgrade Pulsar Python client in docker image to 3.5.0 (#23377)
  • [improve] Install openssl in the docker image to fix compatibility with Apache Pulsar Helm chart (#23362)

Broker

  • [fix][broker] Cancel possible pending replay read in cancelPendingRead (#23384)
  • [fix][broker] Execute the pending callbacks in order before ready for incoming requests (#23266)
  • [fix][broker] Fail fast if the extensible load manager failed to start (#23297)
  • [fix][broker] Fix 'Disabled replicated subscriptions controller' logic and logging (#23142)
  • [fix][broker] Fix authenticate order in AuthenticationProviderList (#23111)
  • [fix][broker] Fix brokers still retry start replication after closed the topic (#23237)
  • [fix][broker] Fix compatibility issues for PIP-344 (#23136)
  • [fix][broker] Fix incomplete NAR file extraction which prevents broker from starting (#23274)
  • [fix][broker] Fix out-of-order issues with ConsistentHashingStickyKeyConsumerSelector (#23327)
  • [fix][broker] Fix shadow topics cannot be consumed when the entry is not cached (#23147)
  • [fix][broker] Fix system topic can not be loaded up if it contains data offloaded (#23279)
  • [fix][broker] Fix the broker registery cannot recover from the metadata node deletion (#23359)
  • [fix][broker] Fix the bug that elected leader thinks it's a follower (#23138)
  • [fix][broker] Handle the case when getOwnedServiceUnits fails gracefully (#23119)
  • [fix][broker] Internal reader of __change_events can not started after metadata store session rebuilt (#23018)
  • [fix][broker] Let Pending ack handler can retry to init when encounters a metadata store error (#23153)
  • [fix][broker] Skip reading entries from closed cursor. (#22751)
  • [fix][broker] Topic can never be loaded up due to broker maintains a failed topic creation future (#23184)
  • [fix][broker] fix exception may hidden and result in stuck when topic loading (#23102)
  • [fix][broker] fix pulsar-admin topics stats-internal caused a BK client thread a deadlock (#23258)
  • [fix][broker] fix replicated namespaces filter in filterAndUnloadMatchedNamespaceAsync (#23100)
  • [fix][broker] type cast on exceptions in exceptionally can lead to lost calls (#23117)
  • [fix][broker]A failed consumer/producer future in ServerCnx can never be removed (#23123)
  • [improve][broker] Add msgInReplay subscription stat and metric to improve Key_Shared observability (#23224)
  • [improve][broker] Add retry for start service unit state channel (ExtensibleLoadManagerImpl only) (#23230)
  • [improve][broker] Avoid subscription fenced error with consumer.seek whenever possible (#23163)
  • [improve][broker] Explicitly close LB internal topics when playing a follower (ExtensibleLoadManagerImpl only) (#23144)
  • [improve][broker] Improve pulsar_topic_load_failed metric to record correct failed time (#23199)
  • [improve][broker] Optimize high CPU usage when consuming from topics with ongoing txn (#23189)
  • [improve][broker] Optimize message payload traffic for ShadowReplicator (#23236)
  • [improve][broker] Optimize performance for checking max topics when the topic is a system topic (#23185)
  • [improve][broker] Optimize the performance of individual acknowledgments (#23072)
  • [improve][broker] Register the broker to metadata store without version id compare (#23298)
  • [improve][broker] Should notify bundle ownership listener onLoad event when ServiceUnitState start (ExtensibleLoadManagerImpl only) (#23152)
  • [improve][broker] Support customized shadow managed ledger implementation (#23179)
  • [improve][broker] Support to specify auth-plugin, auth-parameters and tls-enable arguments when init cluster metadata (#23087)
  • [improve][broker] Reuse method getAvailableBrokersAsync (#23099)
  • [improve][admin] PIP-369 Introduce unload flag in ns-isolation-policy set call (#23120)
  • [fix] StatsOutputStream: add string write function (#23227)

Client

  • [fix] DLQ to handle bytes key properly (#23172)
  • [fix][client] Copy orderingKey to retry letter topic and DLQ messages and fix bug in copying (#23182)
  • [fix][client] Create the retry producer async (#23157)
  • [fix][client] Fix for early hit beforeConsume for MultiTopicConsumer (#23141)
  • [fix][client] Fix timeout handling in Pulsar Admin client (#23128)
  • [fix][client] TransactionCoordinatorClient support retry (#23081)
  • [fix][client] the nullValue in msgMetadata should be true by default (#22372)
  • [improve][client] Add maxConnectionsPerHost and connectionMaxIdleSeconds to PulsarAdminBuilder (#22541)
  • [improve][client] Don't print info logs for each schema loaded by client (#23206)
  • [improve][client] Add new ServiceUrlProvider implementation: SameAuthParamsAutoClusterFailover (#23129)

Pulsar IO and Pulsar Functions

  • [fix][io] Upgrade mssql server docker tag in DebeziumMsSqlContainer (#23318)
  • [improve][fn] Add support for overriding additionalJavaRuntimeArguments with PF_additionalJavaRuntimeArguments env (#23130)

Others

  • [fix][log] Do not print error log if tenant/namespace does not exist when calling get topic metadata (#23291)
  • [fix][log] Do not print warn log when concurrently publishing and switching ledgers (#23209)
  • [feat] Add scripts for updating BK RocksDB ini files (#23178)
  • [fix][meta] Oxia metadta store: Convert error to MetadataStoreException if operation failed (#23154)
  • [fix][misc] Log Conscrypt security provider initialization warnings at debug level (#23364)
  • [improve][misc] Improve AES-GCM cipher performance (#23122)
  • [improve][misc] Optimize TLS performance by omitting extra buffer copies (#23115)
  • [improve][pip] PIP-366: Support to specify different config for Configuration and Local Metadata Store (#23041)
  • [improve][proxy] Reuse authentication instance in pulsar-proxy (#23113)

Tests & CI

  • [fix][test] Fix flaky SubscriptionSeekTest.testSeekIsByReceive (#23170)
  • [fix][test] Fix flaky UnloadSubscriptionTest.testMultiConsumer ([#23243](#23243...
Read more

v3.0.7

04 Oct 18:13
v3.0.7
Compare
Choose a tag to compare

2024-10-04

Library updates

  • [fix][sec] Upgrade Avro to 1.11.4 to address CVE-2024-47561 (#23394)
  • [fix][sec] Upgrade vertx to 4.5.10 to address CVE-2024-8391 (#23338)
  • [fix][sec][branch-3.0] Upgrade protobuf-java to 3.25.5 (#23356) (#23357)
  • [fix] Bump commons-io:commons-io from 2.8.0 to 2.14.0 (#23393)
  • [improve][misc] Upgrade Netty to 4.1.113 and netty-tcnative to 2.0.66 (#23255)
  • [improve][misc] Upgrade jersey to 2.41 (#22290)
  • [improve] Upgrade Pulsar Python client in docker image to 3.5.0 (#23377)

Broker

  • [fix][broker] Cancel possible pending replay read in cancelPendingRead (#23384)
  • [fix][broker] Execute the pending callbacks in order before ready for incoming requests (#23266)
  • [fix][broker] Fix 'Disabled replicated subscriptions controller' logic and logging (#23142)
  • [fix][broker] Fix authenticate order in AuthenticationProviderList (#23111)
  • [fix][broker] Fix brokers still retry start replication after closed the topic (#23237)
  • [fix][broker] Fix compatibility issues for PIP-344 (#23136)
  • [fix][broker] Fix incomplete NAR file extraction which prevents broker from starting (#23274)
  • [fix][broker] Fix out-of-order issues with ConsistentHashingStickyKeyConsumerSelector (#23327)
  • [fix][broker] Fix shadow topics cannot be consumed when the entry is not cached (#23147)
  • [fix][broker] Fix system topic can not be loaded up if it contains data offloaded (#23279)
  • [fix][broker] Fix the bug that elected leader thinks it's a follower (#23138)
  • [fix][broker] Handle the case when getOwnedServiceUnits fails gracefully (#23119)
  • [fix][broker] Internal reader of __change_events can not started after metadata store session rebuilt (#23018)
  • [fix][broker] Let Pending ack handler can retry to init when encounters a metadata store error (#23153)
  • [fix][broker] Skip reading entries from closed cursor. (#22751)
  • [fix][broker] Topic can never be loaded up due to broker maintains a failed topic creation future (#23184)
  • [fix][broker] fix exception may hidden and result in stuck when topic loading (#23102)
  • [fix][broker] fix pulsar-admin topics stats-internal caused a BK client thread a deadlock (#23258)
  • [fix][broker] fix replicated namespaces filter in filterAndUnloadMatchedNamespaceAsync (#23100)
  • [fix][broker] fix the log format error in the AdminResource (#23278)
  • [fix][broker] type cast on exceptions in exceptionally can lead to lost calls (#23117)
  • [fix][broker]A failed consumer/producer future in ServerCnx can never be removed (#23123)
  • [fix][broker][branch-3.0] Fail fast if the extensible load manager failed to start (#23297) (#23302)
  • [fix][broker] StatsOutputStream: add string write function (#23227)
  • [improve][broker] Add msgInReplay subscription stat and metric to improve Key_Shared observability (#23224)
  • [improve][broker] Add retry for start service unit state channel (ExtensibleLoadManagerImpl only) (#23230)
  • [improve][broker] Avoid subscription fenced error with consumer.seek whenever possible (#23163)
  • [improve][broker] Explicitly close LB internal topics when playing a follower (ExtensibleLoadManagerImpl only) (#23144)
  • [improve][broker] Improve pulsar_topic_load_failed metric to record correct failed time (#23199)
  • [improve][broker] Optimize high CPU usage when consuming from topics with ongoing txn (#23189)
  • [improve][broker] Optimize performance for checking max topics when the topic is a system topic (#23185)
  • [improve][broker] Optimize the performance of individual acknowledgments (#23072)
  • [improve][broker] Part 2 of PIP-370: add metrics "pulsar_replication_disconnected_count" (#23213)
  • [improve][broker] Phase 1 of PIP-370 support disable create topics on remote cluster through replication (#23169)
  • [improve][broker] Reduce the CPU pressure from the transaction buffer in rolling restarts (#23062)
  • [improve][broker] Should notify bundle ownership listener onLoad event when ServiceUnitState start (ExtensibleLoadManagerImpl only) (#23152)
  • [improve][broker] Support customized shadow managed ledger implementation (#23179)
  • [improve][broker] Support to specify auth-plugin, auth-parameters and tls-enable arguments when init cluster metadata (#23087) (#23126)
  • [improve][broker] Reuse method getAvailableBrokersAsync (#23099)
  • [improve][admin] PIP-369 Introduce unload flag in ns-isolation-policy set call (#23120)

Client

  • [fix] DLQ to handle bytes key properly (#23172)
  • [fix][client] Copy orderingKey to retry letter topic and DLQ messages and fix bug in copying (#23182)
  • [fix][client] Create the retry producer async (#23157)
  • [fix][client] Fix for early hit beforeConsume for MultiTopicConsumer (#23141)
  • [fix][client] Fix timeout handling in Pulsar Admin client (#23128)
  • [fix][client] TransactionCoordinatorClient support retry (#23081)
  • [fix][client] fix negative message re-delivery twice issue (#20750)
  • [fix][client] the nullValue in msgMetadata should be true by default (#22372)
  • [improve][client] Add maxConnectionsPerHost and connectionMaxIdleSeconds to PulsarAdminBuilder (#22541)
  • [improve][client] Don't print info logs for each schema loaded by client (#23206)
  • [improve][client] Swallow Conscrypt ClassNotFoundException (#20371)
  • [improve][client]Add new ServiceUrlProvider implementation: SameAuthParamsAutoClusterFailover (#23129)
  • [improve][client]PIP-359:Support custom message listener executor for specific subscription (#22861)

Pulsar IO and Pulsar Functions

  • [fix][fn] Make python install dependencies from requirements.txt (#20174)
  • [fix][io] Upgrade mssql server docker tag in DebeziumMsSqlContainer (#23318)
  • [improve][fn] Add support for overriding additionalJavaRuntimeArguments with PF_additionalJavaRuntimeArguments env (#23130)
  • [fix][sql][branch-3.0] Fix UUID convert failed for JSON schema (#23292)

Others

  • [feat] Add scripts for updating BK RocksDB ini files (#23178)
  • [fix][log] Do not print error log if tenant/namespace does not exist when calling get topic metadata (#23291)
  • [fix][log] Do not print warn log when concurrently publishing and switching ledgers (#23209)
  • [fix][misc] Log Conscrypt security provider initialization warnings at debug level (#23364)
  • [improve][misc] Improve AES-GCM cipher performance (#23122)
  • [improve][misc] Optimize TLS performance by omitting extra buffer copies (#23115)
  • [improve][proxy] Reuse authentication instance in pulsar-proxy (#23113)

Tests & CI...

Read more

v3.3.1

01 Aug 17:40
v3.3.1
Compare
Choose a tag to compare

2024-08-01

Broker

  • [feat][broker] PIP-264: Add OpenTelemetry consumer metrics (#22693)
  • [feat][broker] PIP-321 Introduce allowed-cluster at the namespace level (#22378) (#22961)
  • [fix] Make operations on individualDeletedMessages in lock scope (#22966)
  • [fix] Remove blocking calls from BookieRackAffinityMapping (#22846)
  • [fix][admin] Fix half deletion when attempt to topic with a incorrect API (#23002)
  • [fix][broker] Asynchronously return brokerRegistry.lookupAsync when checking if broker is active(ExtensibleLoadManagerImpl only) (#22899)
  • [fix][broker] Can't connecte to non-persist topic when enable broker client tls (#22991)
  • [fix][broker] Check the markDeletePosition and calculate the backlog (#22947)
  • [fix][broker] Ensure that PulsarService is ready for serving incoming requests (#22977)
  • [fix][broker] EntryFilters fix NoClassDefFoundError due to closed classloader (#22767)
  • [fix][broker] Fix MessageDeduplication replay timeout cause topic loading stuck (#23004)
  • [fix][broker] Fix NPE after publishing a tombstone to the service unit channel (#22859)
  • [fix][broker] Fix ProducerBusy issue due to incorrect userCreatedProducerCount on non-persistent topic (#22685)
  • [fix][broker] Fix broker OOM when upload a large package. (#22989)
  • [fix][broker] Fix cursor should use latest ledger config (#22644)
  • [fix][broker] Fix geo-replication admin client url (#22584)
  • [fix][broker] Fix stuck when enable topic level replication and build remote admin fails (#23028)
  • [fix][broker] Fix topic status for oldestBacklogMessageAgeSeconds continuously increases even when there is no backlog. (#22907)
  • [fix][broker] Fix updatePartitionedTopic when replication at ns level and topic policy is set (#22971)
  • [fix][broker] Handle BucketDelayedDeliveryTracker recover failed (#22735)
  • [fix][broker] Immediately tombstone Deleted and Free state bundles (#22743)
  • [fix][broker] Messages lost on the remote cluster when using topic level replication (#22890)
  • [fix][broker] PulsarStandalone started with error if --stream-storage-port is not 4181 (#22993)
  • [fix][broker] Remove blocking calls from Subscription.getStats (#23088)
  • [fix][broker] Replication stuck when partitions count between two clusters is not the same (#22983)
  • [fix][broker] Support advertised listeners when gracefully transferring topics (ExtensibleLoadManagerImpl only) (#22862)
  • [fix][broker] The topic might reference a closed ledger (#22860)
  • [fix][broker] Update init and shutdown time and other minor logic (ExtensibleLoadManagerImpl only) (#22930)
  • [fix][broker] broker log a full thread dump when a deadlock is detected in healthcheck every time (#22916)
  • [fix][broker] disable loadBalancerDirectMemoryResourceWeight by default (#22821)
  • [fix][broker] fix deadlock when disable topic level Geo-Replication (#22738)
  • [fix][broker] fix replicated subscriptions for transactional messages (#22452)
  • [fix][broker] fix topic partitions was expanded even if disabled topic level replication (#22769)
  • [fix][broker] maintain last active info in memory only. (#22794)
  • [fix][broker] rename to changeMaxReadPositionCount (#22656)
  • [fix][broker] response not-found error if topic does not exist when calling getPartitionedTopicMetadata (#22838)
  • [fix][broker] usedLocallySinceLastReport should always be reset (#22672)
  • [fix][broker]Fix lookupService.getTopicsUnderNamespace can not work with a quote pattern (#23014)
  • [fix][broker][branch-3.3] Do not try to clean owned bundles from inactive source brokers (ExtensibleLoadManagerImpl only) (#23064) (#23085)
  • [fix][misc] Disable JFR based telemetry collection since it's not used (#22869)
  • [fix][misc] Topic name from persistence name should decode local name (#22879)
  • [fix][ml] Add entry fail due to race condition about add entry failed/timeout and switch ledger (#22221)
  • [fix][ml] Fix race conditions in RangeCache (#22789)
  • [improve][ml] RangeCache refactoring: test race conditions and prevent endless loops (#22814)
  • [improve][ml] RangeCache refactoring follow-up: use StampedLock instead of synchronized (#22818)
  • [fix][ml]: subscription props could be lost in case of missing ledger during recovery (#22637)
  • [improve] Refactored BK ClientFactory to return futures (#22853)
  • [improve] Validate range of argument before long -> int conversion (#22830)
  • [improve][broker] Add additionalSystemCursorNames ignore list for TTL check (#22614)
  • [improve][broker] Add subscription prefix for internal reader (#23044)
  • [improve][broker] Check max producers/consumers limitation first before other ops to save resources (#23074)
  • [improve][broker] Close protocol handlers before unloading namespace bundles (#22728)
  • [improve][broker] Do not call cursor.isCursorDataFullyPersistable if disabled dispatcherPauseOnAckStatePersistentEnabled (#22729)
  • [improve][broker] GetPartitionMetadata fail also can produce messages (#23050)
  • [improve][broker] Improve CPU resources usege of TopicName Cache (#23052)
  • [improve][broker] Improve exception for topic does not have schema to check (#22974)
  • [improve][broker] PIP-355: Enhancing Broker-Level Metrics for Pulsar (#22779)
  • [improve][broker] PIP-356 Support Geo-Replication starts at earliest position (#22856)
  • [improve][broker] Reduce number of OpenTelemetry consumer attributes (#22837)
  • [improve][broker] Reduce the CPU pressure from the transaction buffer in rolling restarts (#23062)
  • [improve][broker] Remove ClassLoaderSwitcher to avoid objects allocations and consistent the codestyle (#22796)
  • [improve][broker] Reuse topic OpenTelemetry attributes (#22876)
  • [improve][broker] Trigger offload on topic load (#22652)
  • [improve][broker] Use RoaringBitmap in tracking individual acks to reduce memory usage (#23006)
  • [improve][broker] avoid creating new objects when intercepting (#22790)
  • [improve][broker] high CPU usage caused by list topics under namespace (#23049)
  • [improve][broker] make system topic distribute evenly. (#22953)
  • [improve][broker]Ensure namespace deletion doesn't fail (#22627)
  • [improve][broker][branch-3.0] PIP-364: Introduce a new load balance algorithm AvgShedder (#23053)

Client

  • [fix][client] Fix negative acknowledgement by messageId (#23060)
  • [fix][client] Fix orphan consumer when reconnection and closing are concurrency executing (#22958)
  • [fix][client] Fix pattern consumer create crash if a part of partitions of a topic have been deleted ([#22854](#22...
Read more