Skip to main content

Apache Pulsar 2.11.2

2023-07-18

Broker

  • Fix broker restart logic #20113
  • Fast fix infinite HTTP call getSubscriptions caused by wrong topicName #20131
  • Fix getPartitionedStats miss subscription's messageAckRate #19870
  • Fix deadlock of zkSessionWatcher when zkConnection loss #20122
  • Fix Return value of getPartitionedStats doesn't contain subscription type #20210
  • Producer created by replicator is not displayed in topic stats #20229
  • Fix infinite ack of Replicator after topic is closed #20232
  • Skip split bundle if only one broker #20190
  • Fix RoaringBitmap.contains can't check value 65535 #20176
  • Get the lowest PositionImpl from NavigableSet #18278
  • Fix the behavior of delayed message in Key_Shared mode #20233
  • Fix use error TimeUnit to record publish latency #20074
  • Fix the thread safety issue of BrokerData#getTimeAverageData access #19889
  • Fix can't send ErrorCommand when a message's value is null #19899
  • Make LedgerOffloaderFactory can load the old nar #19913
  • Ignore and remove the replicator cursor when the remote cluster is absent #19972
  • Fix the reason label of authentication metrics #20030
  • Optimize the ack/send future in TransactionImpl #20271
  • Fix NPE caused by topic publish rate limiter #20302
  • Fix default bundle size used while setting bookie affinity #20250
  • Fix ledger left in OPEN state when inactiveLedgerRollOverTimeMs is enabled #20276
  • Fix deadlock of metadata store #20189
  • Fix class name typo PrecisPublishLimiter to "Precise" #20310
  • Fix consume stuck of shared streaming dispatcher #18315
  • Fix entry filter feature for the non-persistent topic #20141
  • Fix partitioned __change_events topic is policy topic #20392
  • If a ledger is lost, the cursor mark delete position cannot forward #18620
  • Invalidate metadata children cache after key deleted #20363
  • Avoid PersistentSubscription.expireMessages logic check backlog twice #20416
  • Switch to the metadata store thread after zk operation #20303
  • Fix skip message API when hole messages exist #20326
  • Do not filter system topic while shedding #18949
  • Restore solution for certain topic unloading race conditions #20527
  • There are two same-named managed ledgers in the one broker #18688
  • REST Client Producer fails with TLS only #20535
  • Save createIfMissing in TopicLoadingContext #19993
  • Unwrap the completion exception #20396
  • Release orphan replicator after topic closed #20582
  • Fix the publish latency spike issue with a large number of producers #20607
  • Support cgroup v2 by using jdk.internal.platform.Metrics in Pulsar Loadbalancer #16832
  • Validate authz earlier in delete subscription logic #20549
  • Fix the publish latency spike from the contention of MessageDeduplication #20647
  • Adding the missed bookie id in the registration manager #20641
  • Fix NPE when resetting Replicator's cursor by position #20597
  • Topic policy can not be work well if replay policy message has any exception #20613
  • Bookie Info lost by notification race condition #20642
  • Update new bundle-range to policies after bundle split #17797
  • Fix consumer can receive aborted txn message when readType is replay #19815
  • Fix return the earliest position when query position by timestamp #20457

Clients

  • [Java] Use scheduled executor in BinaryProtoLookupService #20043
  • [Java] Release the orphan producers after the primary consumer is closed #19858
  • [Java] Fix NPE when acknowledging multiple messages #19874
  • [Java] Cache empty schema version in ProducerImpl schemaCache #19929
  • [Java] Fix where the function getMsgNumInReceiverQueue always returns 0 when using message listener #20245
  • [Java] Fix deadlock issue of consumer while using multiple IO threads #20669
  • [Java] Make the whole grabCnx() progress atomic #20595
  • [Java] Messages lost when consumer reconnect #20695

Pulsar IO and Pulsar Functions

  • [Functions] Use functions classloader in TopicSchema.newSchemaInstance() to fix ClassNotFoundException when using custom SerDe classes #20115
  • [Functions] Make pulsar-admin support update py/go with package url #19897
  • [Functions] Fix JavaInstanceStarter inferring type class name error #20426
  • [Functions] Go functions must retrieve consumers by non-partitioned topic ID #20413
  • [Functions] Fix function update error #19895
  • [Functions] Reset idle timer correctly #20450 #20450
  • [Functions] Go functions need to use static grpcPort in k8s runtime #20404
  • [Functions] Configure pulsar admin for TLS #20533
  • [Functions] Make KubernetesRuntime translate characters in function tenant, namespace, and name during function removal to avoid label errors #19584
  • [Functions] Exit JVM when the main thread throws an exception #20689
  • [IO Connector] Close the Kafka source connector if there is uncaught exception #20480
  • [IO Connector] Close the Kafka source connector got stuck #20698

Observability

  • [Broker] Fix the partitioned publisher topic stat aggregation bug #18807
  • [Broker] Fix topic with double quote breaks the Prometheus format #20230
  • [Broker] Add JVM start time metric #20381
  • [Offload] Fix offload metrics error #20366

CLI

  • [CLI] Allow pulser-client consumer to create a replicated subscription #20316
  • [CLI] Update nar maven plugin version to fix excessive downloads #20410
  • [CLI] Speed up OWASP dependency check in Pulsar CI workflow #20412
  • [CLI] Fulfill add-opens to function-localrunner also #20417
  • [Admin] Return BAD_REQUEST on cluster data is null for createCluster #20346
  • [Admin] Report earliest msg in partitioned backlog #19465

Others

  • [Build] Duplicate entry when merging services #17659
  • [Offload] Use filesystem offloader with class not found error #20365
  • [Perf] PerformanceProducer does not produce expected number of messages #19775
  • [SQL] Remove useless configuration for Pulsar SQL #20605
  • [WS] Remove unnecessary ping/pong implementation #20605
  • [Schema] Only handle exception when there has #20730

Library updates

  • Upgrade SnakeYAML version to 2.0 #20120
  • Upgrade Kotlin version from 1.4.32 to 1.8.20 #20089
  • Upgrade the jetty server version to 9.4.51.v20230217 #20226
  • Upgrade sprint version to 5.3.27 #20226
  • Upgrade swagger version to 1.6.10 #20226
  • Upgrade SQLite JDBC to resolve CVE-2023-32697 #20411
  • Upgrade Netty to 4.1.93.Final #20423
  • Upgrade Guava to 32.0.0 to address CVE-2023-2976 #20459
  • Use Ubuntu 22.04 for Pulsar images #20475
  • Upgrade snappy-java to address multiple CVEs #20604
  • Upgrade Guava to 32.1.1 to address CVE-2023-2976 #20699