github apache/pulsar v3.3.5

latest release: v4.0.3
one day ago

2025-02-27

Library updates

  • [feat][misc] upgrade oxia java client to 0.5.0 (#23871)
  • [fix] Use Alpine 3.21 in base image (#23964)
  • [fix][build] Upgrade json-smart to 2.5.2 (#23966)
  • [improve] Upgrade to Netty 4.1.117.Final (#23863)
  • [fix][sec] Upgrade to Netty 4.1.118 to address CVE-2025-24970 (#23965)

Broker

  • [fix][broker] Fix bug in RangeCache where different instance of the key wouldn't ever match (#23903)
  • [fix][broker] Closed topics won't be removed from the cache (#23884)
  • [fix][broker] Continue using the next provider for http authentication if one fails (#23842)
  • [fix][broker] Fix BucketDelayedDeliveryTracker thread safety (#24014)
  • [fix][broker] Fix NPE during active consumer is disconnected (#24008)
  • [fix][broker] Fix acknowledgeCumulativeAsync block when ackReceipt is enabled (#23841)
  • [fix][broker] Fix incorrect blockedConsumerOnUnackedMsgs value when maxUnackedMessagesPerConsumer is 1 (#23796)
  • [fix][broker] Fix possible mark delete NPE when batch index ack is enabled (#23833)
  • [fix][broker] Fix rate limiter token bucket and clock consistency issues causing excessive throttling and connection timeouts (#23930)
  • [fix][broker] Fix repeatedly acquired pending reads quota (#23869)
  • [fix][broker] Fix the retry mechanism in MetadataCache#readModifyUpdateOrCreate (#23686)
  • [fix][broker] Geo Replication lost messages or frequently fails due to Deduplication is not appropriate for Geo-Replication (#23697)
  • [fix][broker] Make InflightReadsLimiter asynchronous and apply it for replay queue reads (#23901)
  • [fix][broker] PIP-322 Fix issue with rate limiters where rates can exceed limits initially and consumption pauses until token balance is positive (#24012)
  • [fix][broker] PIP-399: Fix Metric Name for Delayed Queue (#23712)
  • [fix][broker] Remove blocking calls from internalGetPartitionedStats (#23832)
  • [fix][broker] Revert "[fix][broker] Cancel possible pending replay read in cancelPendingRead (#23384)" (#23855)
  • [fix][broker] Support large number of unack message store for cursor recovery (#9292)
  • [fix][broker] fix broker identifying incorrect stuck topic (#24006)
  • [fix][broker] fix broker may lost rack information (#23331)
  • [fix][meta] Fix ephemeral Zookeeper put which creates a persistent znode (#23984)
  • [fix][meta] Fix ephemeral handling of ZK nodes and fix MockZooKeeper ephemeral and ZK stat handling (#23988)
  • [fix][ml] Fix cursor metadata compatability issue when switching the config unackedRangesOpenCacheSetEnabled (#23759)
  • [fix][ml] Fix deadlock in PendingReadsManager (#23958)
  • [fix][ml] Fix memory leak due to duplicated RangeCache value retain operations (#23955)
  • [fix][ml] Fix memory leaks in ManagedCursorInfo and ManagedLedgerInfo decompression and compression (#23960)
  • [fix][ml] incorrect non-durable cursor's backlog due to concurrently trimming ledger and non-durable cursor creation (#23951)
  • [improve][broker] Avoid PersistentReplicator.expireMessages logic compute backlog twice (#23957)
  • [improve][broker] Avoid logging errors when there is a connection issue during subscription. (#23939)
  • [improve][broker] Avoid printing log for IncompatibleSchemaException in ServerCnx (#23938)
  • [improve][broker] Do not print error logs for NotFound or Conflict errors when using the Admin API (#23928)
  • [improve][broker] Don't print error logs for ProducerBusyException (#23929)
  • [improve][broker] Fix non-persistent system topic schema compatibility (#23286)
  • [improve][broker] Improve Consumer.equals performance (#23864)
  • [improve][broker] Make the estimated entry size more accurate (#23931)
  • [improve][broker] Reduce unnecessary REPLICATED_SUBSCRIPTION_SNAPSHOT_REQUEST (#23839)
  • [improve][broker] Remove spamming logs for customized managed ledger (#23862)
  • [improve][broker] Support values up to 2^32 in ConcurrentBitmapSortedLongPairSet (#23878)
  • [improve][meta] Simplify getting parent path in ZKMetadataStore without using java.io.File (#23996)
  • [improve][ml] Use lock-free queue in InflightReadsLimiter since there's no concurrent access (#23962)

Client

  • [fix] Avoid NPE when closing an uninitialized SameAuthParamsLookupAutoClusterFailover (#23911)
  • [fix] Initialize UrlServiceProvider before trying to use transaction coordinator (#23914)
  • [fix][client] Fix LoadManagerReport not found (#23886)
  • [fix][client] Fix memory leak in ClientCnx.newLookup when there's TooManyRequestsException (#23971)
  • [fix][client] Fix memory leak when message size exceeds max message size and batching is enabled (#23967)
  • [fix][client] Orphan producer when concurrently calling producer closing and reconnection (#23853)
  • [fix][client] call redeliver 1 msg but did 2 msgs (#23943)
  • [fix][client] fix retry topic with exclusive mode. (#23859)
  • [improve][client] Avoid logging errors for retriable errors when creating producer (#23935)
  • [improve][cli] Support additional msg metadata for V1 topic on peek message cmd (#23978)

Pulsar IO and Pulsar Functions

  • [fix][io] Fix pulsar-io:pom not found (#23979)
  • [improve] Validate user paths in Functions utils (#22833)
  • [improve][fn] Set default tenant and namespace for ListFunctions cmd (#23881)
  • [improve][io] Allow skipping connector deployment (#23932)

Others

  • [fix] fix for code scanning alert no. 48: Uncontrolled data used in path expression (#23985)
  • [fix][build] Use amazoncorretto:21-alpine3.20 JDK build for Alpine 3.20 (#23898)
  • [fix][build] Add develops for buildtools (#23992)
  • [fix][misc] Honor dynamic log levels in log4j2.yaml (#23847)
  • [improve][proxy] Make keep-alive interval configurable in Pulsar Proxy (#23981)

Tests & CI

  • [improve][test] Add solution to PulsarMockBookKeeper for intercepting reads (#23875)
  • [improve][test] Upgrade Testcontainers to 1.20.4 and docker-java to 3.4.0 (#24003)
  • [fix][test] Add reconsumeLater call in RetryTopicTest#testRetryTopicWithMultiTopic. (#23857)
  • [fix][test] Fix flaky DelayedDeliveryTest.testEnableTopicDelayedDelivery (#23893)
  • [fix][test] Fix flaky test MetadataStoreTest.emptyStoreTest (#23998)
  • [fix][test] Fix flaky test OneWayReplicatorUsingGlobalZKTest.testConfigReplicationStartAt (#24011)
  • [fix][test] Fix quiet time implementation in BrokerTestUtil.receiveMessages (#23876)
  • [fix][test] fix flaky testNegativeAcksWithBackoff when batch enabled. (#23986)
  • [fix][test]Fix flaky test V1_ProducerConsumerTest.testConcurrentConsumerReceiveWhileReconnect (#24019)
  • [fix][test]Fix flaky test testTopicUnloadAfterSessionRebuild (#23852)
  • [fix][ci] Configure Docker data-root to /mnt/docker to avoid running out of disk space (#23909)
  • [improve][ci] Increase Maven max heap size to 2048M and tune GCLockerRetryAllocationCount (#23883)
  • [improve][ci] Publish build scans to develocity.apache.org (#23851)
  • [improve][ci] Skip "OWASP dependency check" when data wasn't found in cache (#23970)
  • [improve][ci] Upgrade Gradle Develocity Maven Extension to 1.23.1 (#24004)

For the complete list, check the full changelog.

Don't miss a new pulsar release

NewReleases is sending notifications on new releases.