Skip to main content

Apache Pulsar 2.10.4

2023-4-19​

Broker​

  • [improve][broker] Add ref count for sticky hash to optimize the performance of Key_Shared subscription (#19167)
  • [fix][broker] Pass subName for subscription operations in ServerCnx (#19184)
  • [fix][broker] AbstractBatchedMetadataStore - use AlreadyClosedException instead of IllegalStateException (#19284)
  • [fix][broker] Fix open cursor with null-initialPosition result with earliest position (#18416)
  • [fix][ml] Topics stats shows msgBacklog but there reality no backlog (#19275)
  • [improve][broker] Added isActive in ManagedCursorImpl (#19341)
  • [improve][broker] Replaced checkBackloggedCursors with checkBackloggedCursor(single subscription check) upon subscription (#19343)
  • [fix][broker] fixed the build error for pattern matching variable in lower JVM versions (#19362)
  • [fix][broker]optimize the shutdown sequence of broker service when it close (#16756)
  • [fix][broker] Pass subscriptionName to auth service (#17123) (#19423)
  • [fix][broker]fix multi invocation for ledger createComplete (#18975)
  • [fix][broker] getLastMessageId returns a wrong batch index of last message if enabled read compacted (#18877)
  • [fix][broker] Support deleting partitioned topics with the keyword -partition- (#19230)
  • [fix][ml] Fix the incorrect total size if use ML interceptor (#19404)
  • [improve][broker] Added isActive in ManagedCursorImpl (#19341)
  • [improve][broker] Added isActive in ManagedCursorImpl (#19341)
  • [improve][broker] Copy subscription properties during updating the topic partition number. (#19223)
  • [fix][broker] Expect msgs after server initiated CloseProducer (#19446)
  • [fix][broker] Fix PulsarRegistrationClient and ZkRegistrationClient not aware rack info problem. (#18672)
  • [fix][ml] Fix potential NPE cause future never complete. (#19415)
  • [fix][ml] The atomicity of multiple fields of ml is broken (#19346)
  • [fix][broker] Fix race condition while updating partition number (#19199)
  • [Improve][broker] Support clear old bookie data for BKCluster (#16744)
  • [fix][ml] Reset individualDeletedMessagesSerializedSize after acked all messages. (#19428)
  • [fix][broker] Make ServerCnx#originalAuthData volatile (#19507)
  • [fix][broker] ServerCnx broken after recent cherry-picks (#19521)
  • [fix][broker] Fix loadbalance score caculation problem (#19420)
  • [fix][ml] messagesConsumedCounter of NonDurableCursor was initialized incorrectly (#19355)
  • [fix][broker][branch-2.10] Replace sync method call in async call chain to prevent ZK event thread deadlock (#19539)
  • [improve][broker] Require authRole is proxyRole to set originalPrincipal (#19455)
  • [improve][broker] ServerCnx: go to Failed state when auth fails (#19312)
  • [feat][broker] Cherry-pick tests from (#19409)
  • [improve][broker] Add test to verify authRole cannot change (#19430)
  • [feat][broker] OneStageAuth State: move authn out of constructor (#19295)
  • [fix][broker] Correct MockAlwaysExpiredAuthenticationState test impl
  • [cleanup][broker] Validate originalPrincipal earlier in ServerCnx (#19270)
  • [fix][broker] ServerCnx broken after recent cherry-picks (#19521)
  • [fix][broker] Fix loadbalance score caculation problem (#19420)
  • [fix][ml] messagesConsumedCounter of NonDurableCursor was initialized incorrectly (#19355)
  • [fix][broker][branch-2.10] Replace sync method call in async call chain to prevent ZK event thread deadlock (#19539)
  • [improve][broker] Require authRole is proxyRole to set originalPrincipal (#19455)
  • [improve][broker] ServerCnx: go to Failed state when auth fails (#19312οΌ‰
  • [feat][broker] Cherry-pick tests from (#19409)
  • [improve][broker] Add test to verify authRole cannot change (#19430)
  • [fix][broker] Call originalAuthState.authenticate in ServerCnx
  • [fix][broker] Correct MockAlwaysExpiredAuthenticationState test impl
  • [fix][broker] Make authentication refresh threadsafe (#19506)
  • [fix][broker] Allow proxy to pass same role for authRole and originalRole (#19557)
  • [fix][broker] Copy command fields and fix potential thread-safety in ServerCnx (#19517)
  • [fix][broker][branch-2.10] Fix geo-replication admin (#19608οΌ‰
  • [fix][broker] PulsarRegistrationClient - implement getAllBookies and follow BookieServiceInfo updates (#18133)
  • [Improve][Broker]Reduce GetReplicatedSubscriptionStatus local REST call (#16946)
  • [fix][broker] Incorrect service name selection logic (#19505)
  • [improve][broker] Use shrink map for trackerCache (#19534)
  • [improve][broker] Add UncaughtExceptionHandler for every thread pool (#18211)
  • [cleanup][broker] Simplify extract entryMetadata code in filterEntriesForConsumer (#18729)
  • [improve][broker] Follow up #19230 to tighten the validation scope (#19234)
  • [fix][ml] topic load fail by ledger lost (#19444)
  • [fix][broker] Topic close failure leaves subscription in a permanent fence state (#19692)
  • [cherry-pick][branch-2.10] Fix deadlock causes session notification not to work (#19754) (#19768)
  • [fix][broker] Fix potential exception cause the policy service init fail. (#19746)
  • [improve][broker] Authorize originalPrincipal when provided (#19830)
  • [fix][broker] Only validate superuser access if authz enabled (#19989)
  • [fix][broker] Ignore and remove the replicator cursor when the remote cluster is absent (#19972)
  • [fix][broker] Fix index generator is not rollback after entries are failed added (#19980)
  • [fix][proxy] Used in proxyConf file when configuration is missing in the command line (#15938)
  • [fix][broker] Remove timestamp from broker metrics (#17419)
  • [fix][broker] Counter of pending send messages in Replicator incorrect if schema future not complete (#19242)

Transaction​

  • [fix][txn] Correct the prompt message (#17009)
  • [fix][txn] Catch and log runtime exceptions in async operations (#19258)
  • [fix][txn] fix txn coordinator recover handle committing and aborting txn race condition. (#19201)
  • [improve][txn] Handle changeToReadyState failure correctly in TC client (#19308)
  • [cherry-pick][branch-2.10] Allow superusers to abort transactions (#1…9467) (#19473)
  • [feature][txn] Fix individual ack batch message with transaction abor…
  • Close TransactionBuffer when MessageDeduplication#checkStatus failed (#19288)
  • [improve][txn] Cleanup how superusers abort txns (#19976)
  • [feature][txn] Fix individual ack batch message with transaction abort redevlier duplicate messages (#14327)

Pulsar IO and Pulsar Functions​

  • [fix][io] Update Elasticsearch sink idle cnx timeout to 30s (#19377)
  • [fix][fn] Fix k8s merge runtime opts bug (#19481)
  • [refactor][fn] Use AuthorizationServer more in Function Worker API (#19975)

CLI​

  • [fix][cli] Fix Broker crashed by too much memory usage of pulsar tools (#20031)

Admin​

  • [fix][admin] Fix validatePersistencePolicies that Namespace/Topic persistent policies cannot set to < 0 (#18999)
  • [improve][admin][branch-2.10] Unset namespace policy to improve deleting namespace (#17033) (#19865)
  • [fix][admin] fix incorrect state replication.connected on API partitioned-topic stat (#19942)
  • [fix][admin] Make response code to 400 instead of 500 when delete topic fails due to enabled geo-replication (#19879)

Security​

  • [fix][sec] Upgrade jettison to 1.5.3 (#19038)
  • [fix][sec] Upgrade woodstox to 5.4.0 (#19041)
  • [improve][sec] Suppress false positive OWASP reports (#19105)
  • [fix][misc] do not require encryption on system topics (#18898)
  • [fix][authorization] Fix the return value of canConsumeAsync (#19412)
  • [fix][security] Fix secure problem CVE-2017-1000487 (#19479)
  • [improve] Upgrade wildfly-eytron (used by debezium) to fix CVE-2022-3143 (#19333)
  • [improve][misc] Upgrade Netty to 4.1.87.Final (#19417)
  • [fix][broker] Ignore and remove the replicator cursor when the remote cluster is absent (#19972)
  • [Authenticate] fix Invalid signature error when use Kerberos Authentication (#15121)
  • [fix][sec] Fix transitive critical CVEs in file-system tiered storage (#19957)
  • [fix][sec] Fix transitive critical CVEs in file-system tiered storage (#19957)

CI & Test​

  • [fix][test] ProxyWithAuthorizationTest remove SAN from test certs (#19594)
  • [branch-2.10][test]Run and fix tests (#19636)
  • [test] Fix ServerCnxTest failing after merge of #19830

Others​

  • [fix][build] Resolve OWASP Dependency Check false positives (#19120)
  • Debezium sources: Support loading config from secrets (#19163)
  • [fix][proxy] Only go to connecting state once (#19331)
  • [fix][build] Upgrade dependency-check-maven plugin to fix broken OWASP check (#19170)
  • [branch-2.10][fix][proxy] Fix using wrong client version in pulsar proxy (#19576)
  • [branch-2.10][fix][proxy] Fix using wrong client version in pulsar proxy (#19576)
  • [improve] Upgrade lombok to 1.8.26 (#19426)
  • [improve] upgrade the bookkeeper version to 4.14.7 (#19179)
  • [branch-2.10][broker] Support zookeeper read-only config. (#19156) (#19637)
  • [improve] Simplify enabling Broker, WS Proxy hostname verification (#19674)
  • [cherry-pick][branch-2.10] KCA: picking fixes from master (#19788)
  • [Build] Make the test JVM exit if OOME occurs (#14509)