Releases: apache/pulsar
Releases · apache/pulsar
v2.9.4
What's Changed
- [branch-2.9]add message ack rate by @tjiuming in #16146
- [branch-2.9] Fix cherry-pick issues. by @mattisonchao in #16346
- [Branch-2.9][Cherry-pick] fix bug: fail to expose managed ledger client stats to prometheus if bookkeeperClientExposeStatsToPrometheus is true by @HQebupt in #16343
- [Branch 2.9] Fix compaction subscription acknowledge Marker msg issue. by @mattisonchao in #16348
- [Branch-2.9] Fix passing incorrect authentication data by @mattisonchao in #16347
- [Branch-2.9][transaction] Cmd-Subscribe and Cmd-Producer will not succeed even after 100 retries. by @mattisonchao in #16349
- [Branch-2.9][Cherry-pick] Fix get non-persistent topics issue in Namespaces. by @Technoboy- in #16517
- [branch-2.9] Fix
MockStatic
method caused the exception by @mattisonchao in #16628 - [branch-2.9] Fix compatible issue. by @mattisonchao in #16779
- [branch-2.9]Add back FutureUtil#waitForAll and FutureUtil#waitForAny methods with List parameter by @mattisonchao in #16794
- [broker][monitoring][fix] fix
pulsar_subscription_msg_ack_rate
by @tjiuming in #16866 - [Branch-2.9][fix][client] Fix client memory limit currentUsage leak and semaphore release duplicated in ProducerImpl. by @Nicklee007 in #16971
- [improve][broker] Optimise msgOutCounter and bytesOutCounter (#16214) (#16286) by @nahguam in #16771
- [Branch-2.9][fix][client] Fix MaxQueueSize semaphore release leak in createOpSendMsg. by @Nicklee007 in #16958
- [Branch 2.9][fix][broker] Upgrade log4j2 version to 2.18.0 (#16884) by @liudezhi2098 in #16995
- [improve][authentication][branch-2.9] Support for get token from HTTP params by @nodece in #16987
- [Branch-2.9]Upgrade rocksdb version to 6.16.4 to keep sync with bookkeeper by @hangc0276 in #17246
- [branch-2.9] Support mock final class with
PowerMockito
by @mattisonchao in #17327 - [branch-2.9][fix][load-balancer] skip mis-configured resource usage(>100%) in loa… by @heesung-sn in #17285
- [fix][broker][branch-2.9] Fix calculate avg message per entry by @coderzc in #17281
- [branch-2.9] Rename test file name from
*Test2.java
to*Test.java
to run all tests correctly by @equanz in #17048 - [fix][c++][branch-2.9]Fix wrong consumers size: execute
callback
before executingreaderCreatedCallback_
by @coderzc in #17629 - [branch-2.9][fix][broker]Persist cursor info error when cursor close by @poorbarcode in #17604
- [branch-2.9][cherry-pick] Fix producer/consume permission can’t get schema. by @Technoboy- in #17730
- [fix][broker][functions-worker] Ensure prometheus metrics are grouped by type (#8407, #13865) by @marksilcox in #17618
- [branch-2.9] Group prometheus metrics. by @tjiuming in #17852
- [branch-2.9] Fix cherry-pick issue by @codelipenghui in #17894
- [fix][broker][branch-2.9] Fix system topic schema not compatible bug by @dragonls in #17986
- [improve][authentication][branch-2.9] Improve get the basic authentication config by @nodece in #16944
- [fix][client][txn] Use PulsarClient HashWheelTimer to schedule producer batch trigger task by @lifepuzzlefun in #18058
- [fix][sec] File tiered storage: upgrade jettison to get rid of CVE-2022-40149 by @mattisonchao in #18105
- [branch-2.9] Fixed key-shared delivery of messages with interleaved delays. by @mattisonchao in #18108
- [branch-2.9] Fix license check issue by @Technoboy- in #18117
- [fix][cpp][branch-2.9] Fix zlib dowload path. by @shibd in #18127
- [fix][sec][branch-2.9] Updating dependencies to get rid of CVEs brought in with kafka and lo… by @alpreu in #18304
- [cherry-pick][branch-2.9] Fix NPE when get OffloadThreshold on namespace. by @congbobo184 in #18638
- [cherry-pick][branch-2.9] cherry-pick #17736 problem and DnsResolverTest license header by @congbobo184 in #18640
- [cherry-pick][branch-2.9] Fix NPE when ResourceGroupService execute scheduled task. by @congbobo184 in #18685
- [cherry-pick][branch-2.9] fix cherry-pick #17592 missing code and flaky test testFailoverSingleAckedPartitionedTopic by @congbobo184 in #18702
- [branch-2.9] Fix no durable cursor leak problem by @gaozhangmin in #18710
- [branch-2.9][fix][broker] Fix duplicated schemas creation (#18701) by @codelipenghui in #18762
- [cherry-pick][branch-2.9] fix cherry-pick #17609 #17957 import by @congbobo184 in #18793
- [cherry-pick][branch-2.9] make getList async #16221 by @congbobo184 in #18811
- [cherry-pick][branch-2.9] Cherry-pick #18307 (Fix can not delete namespace by force) by @liangyepianzhou in #18803
- [cherry-pick][branch-2.9] change proto license version by @congbobo184 in #18821
- [cherry-pick][branch-2.9] Fix delete system topic clean topic policy (#18823) by @congbobo184 in #18831
Full Changelog: v2.9.3...v2.9.4
v2.10.2
Important notice
- [fix][admin] Fix get non-persistent topics issue in Namespaces. #16170
Broker
- [fix][broker] ManagedLedger: move to FENCED state in case of BadVersionException #17736
- [fix][broker] Issue 17588: Allow deletion of a namespace that was left in deleted status #17592
- [fix][broker] Fix BookKeeper packages npe #17291
- [fix][broker] Fix rack awareness cache expiration data race #16825
- [fix][broker] Fix stats-internal with option -m cause active ledger recover then close #16662
- [fix][broker] Fix deadlock in key-shared dispatcher #16660
- [fix][broker] PulsarLedgerManager: add missed return statement #16607
- [fix][broker] Ensure the ack-timeout task gets re-scheduled when there is an exception in the final stage #16337
- [fix][broker] Fix select broker is none #16316
- [fix][broker] Fixed deadlock when checking topic ownership #16310
- [fix][broker] Fix thread safety issues in accessing ManagedCursorContainer.heap ArrayList #16049
- [fix][broker] Avoid IllegalStateException while client_version is not set #16788
- [fix][broker] BadVersionException when splitting bundles, delay 100ms and try again. #16612
- [fix][broker] Expose timestamp field for SchemaData&SchemaInfo #16380
- [fix][broker] Fix NPE when drop backlog for time limit. #16235
- [fix][broker] Fix NPE when get /admin/v2/namespaces/public/default/maxTopicsPerNamespace #16076
- [fix][broker] Fix RawReader out of order #16390
- [fix][broker] Fix calculate avg message per entry #17046
- [fix][broker] Fix compaction subscription acknowledge Marker msg issue. #16205
- [fix][broker] Fix consumer does not abide by the max unacks limitation for Key_Shared subscription #16718
- [fix][broker] Fix consumer does not abide by the max unacks limitation for Shared subscription #16670
- [fix][broker] Fix create client with TLS config #16014
- [fix][broker] Fix namespace backlog quota check with retention. #17706
- [fix][broker] Fix out of order data replication #17154
- [fix][broker] Fix passing incorrect authentication data #16201
- [fix][broker] Fix potential exception causing the reader to be unable to continue reading #17556
- [fix][broker] Fix pulsarLedgerIdGenerator can't delete index path when zk metadata store config rootPath. #17192
- [fix][broker] Fix schema does not replicate successfully #17049
- [fix][broker] Fix the replicator unnecessary get schema request for BYTES schema #17523
- [fix][broker] Fixed error when delayed messages trackers state grows to >1.5GB #16490
- [fix][broker] Increment topic stats outbound message counters and update rate after messages have been written to the TCP/IP connection #17043
- [fix][broker] ManagedCursor: mark delete no callback when create meta-ledger fail #16841
- [fix][broker] Multiple consumer dispatcher stuck when
unackedMessages
greater thanmaxUnackedMessages
#17483 - [fix][broker] PulsarLedgerManager to pass correct error code to BK client #16857
- [fix][broker] Release the entry in getEarliestMessagePublishTimeOfPos. #16386
- [fix][broker] Retry to delete the namespace if new topics are created during the namespace deletion #16676
- [fix][broker] Retry when DistributedIdGenerator has BadVersion error #16491
- [fix][broker] Skip reading more entries for a pending read with no more entries #16400
- [fix][broker] Support loadBalancerSheddingIntervalMinutes dynamic configuration #16408
- [fix][broker] The configuration loadBalancerNamespaceMaximumBundles is invalid #16552
- [fix][broker] Topic policy reader can't recover when getting any exception. #17562
- [fix][broker] Unregister topic policy listener if managed ledger close failed #17652
- [fix][broker] Upgrade log4j2 version to 2.18.0 #16884
- [fix][broker] fix No such ledger exception #16420
- [fix][broker] fix broker unackmessages become a negative number #17003
- [fix][broker] remove exception log when access status.html #17025
- [fix][broker] Consumer can't consume messages because there are two same topics in one broker #17526
- [fix][broker] Fix getInternalStats occasional lack of LeaderInfo again #16238
- [fix][broker] Fix subscribe dispatcher limiter not be initialized #16175
- [fix][broker] Fix topic policies update not check message expiry #15941
- [fix][broker] Fix topic-level replicator rate limiter not init #15825
- [fix][broker] ManagedLedger metrics fail cause of zero period #17257
- [fix][broker] Prevent
StackOverFlowException
in SHARED subscription #16968 - [fix][broker] Fix message ack rate #16108
- [fix][broker] Fix bug: fail to expose managed ledger client stats to prometheus if bookkeeperClientExposeStatsToPrometheus is true #16219
- [fix][broker] Fix npe when invoking replaceBookie. #16239
- [fix][broker] Fail to update partition meta of topic due to ConflictException: subscription already exists for topic #17488
- [fix][broker] Fix NPE when ledger id not found in
OpReadEntry
#15837 - [Fix][broker] Fix topic dispatch rate limiter not init on broker-level #16084
- [opt][broker] Optimize topic policy with HierarchyTopicPolicies about replicatorDispatchRate #14161
- [fix][broker] Fix the broker close hanged issue. #17689
- [fix][broker] Fix topic dispatch rate limiter not init on broker-level #16084 #17000
- [fix][broker] Prevent StackOverFlowException in SHARED subscription #17053
- [fix][broker] skip mis-configured resource usage(>100%) in load balancer #16937
- [fix][broker] Fix wrong unit of NIC speed on Linux #15304
- [fix][broker] Fix RawReader hasMessageAvailable returns true when no messages #16443
- [improve][broker] Expose topic level storage write and read rate metrics #16855
- [improve][broker] Broker/EntryFilter: make the delay for RESCHEDULED messages configurable (dispatcherFilterRescheduledMessageDelay) #16602
- [improve][broker] Use OrderedExecutor instead of OrderedScheduler for consumer dispatch #16115
- [improve][broker] Avoid going through all the consumers to get the message ack owner #16245
- [improve][broker] Avoid reconnection when a partitioned topic was created concurrently #16043
- [improve][broker] Cancel the loadShedding task when closing pulsar service #17632
- [improve][broker] Consolidate Netty channel flushes to mitigate syscall overhead #16361
- [improve][broker] Improve cursor.getNumberOfEntries if isUnackedRangesOpenCacheSetEnabled=true #17465
- [improve][broker] Make MessageRedeliveryController work more efficiently [#17804](https...
v2.8.4
Broker
- [improve][broker] Do not print the log that the topic does not exist #13535
- [fix][broker] Fix NPE when nextValidLedger is null #13975
- [fix][broker] Fix NPE when
ReplicatedSubscriptionsController
sends marker message with deduplication enabled #14017 - [fix][broker] Fix avg-messagePerEntry metrics for consumer #14330
- [improve][broker] Validate rack name when setting the bookie rack info #14336
- [improve][broker] Optimize find nics process. #14340
- [fix][broker] Fix NPE when subscription is already removed #14363
- [fix][broker] Fix Broker HealthCheck Endpoint Exposes Race Conditions #14367
- [improve][broker] Optimize RawReader#create when using Compactor #14447
- [fix][broker] Fix the latest message of the compacted topic cannot be read #14449
- [fix][broker] Fix producerFuture not completed in ServerCnx#handleProducer #14467
- [fix][broker] Fix NPW in ManagedLedgerImpl #14481
- [improve][broker] Support shrink in ConcurrentLongHashMap #14497
- [fix][broker] Fixed wrong behaviour caused by not cleaning up topic policy service state. #14503
- [improve][broker] Optimize memory usage: support to shrink for pendingAcks map #14515
- [fix][broker] Cancel offload tasks when managed ledger closed #14744
- [improve][broker] Reduce unnecessary expansions for ConcurrentLong map and set #14562
- [fix][broker] Fix metadata store deadlock when checking BacklogQuota #14634
- [improve][broker] Support shrink for map or set #14663
- [fix][broker] Fix lost message issue due to ledger rollover #14664
- [fix][broker] Set splitNamespaceBundle with
readonly=false
#14680 - [fix][broker] Fixed duplicated delayed messages when all consumers disconnect #14740
- [fix][broker] Fix wrong state for non-durable cursor #14869
- [fix][broker] Improve error logging for topic not found #14892
- [fix][broker] Fix topic policy reader close bug #14897
- [fix][broker] Return if reset in progress #14978
- [fix][broker] Fix potential NPE in Replicator #15003
- [fix][broker] Fix race condition in updating lastMarkDeleteEntry field #15031
- [fix][broker] Fix potential to add duplicated consumer #16826
- [fix][broker] Follow up on race condition fixes in ManagedCursorImpl #15031 #15067
- [cleanup] [broker] Remove useless code to avoid confusion in OpReadEntry#checkReadCompletion #15104
- [fix][broker] Cancel
fencedTopicMonitoringTask
when topic closed normally. #15202 - [fix][broker] Fix MessageDeduplication#inactiveProducers may not be persistence correctly #15206
- [fix][broker] Fix race condition between timeout and completion in
OpAddEntry
#15233 - [fix][broker] Fix problem at RateLimiter#tryAcquire #15306
- [improve][broker] Use shrink map for message redelivery. #15342
- [improve][broker] Support shrink for ConcurrentSortedLongPairSet #15354
- [improve][broker] Close connection if a ping or pong message cannot be sent #15382
- [cleanup][broker] Fix typo in enum name and handle closing of the channel properly since writeAndFlush is asynchronous #15384
- [fix][broker] Avoid heartbeat topic to offload. #15393
- [fix][broker] Fix deadlock in broker after race condition in topic creation failure #15570
- [fix][broker] fix calculation in getNumberOfEntriesInStorage #15627
- [fix][broker] Fix NPE when set
AutoTopicCreationOverride
#15653 - [fix][broker] Fix creating producer failure when set backlog quota #15663
- [fix][broker] Fix NPE when put value to
RangeCache
#15707 - [fix][broker] Fix can not enable system topic if
AutoUpdateSchemaEnabled=false
#15759 - [fix][broker] Fix wrong unit of NIC speed on Linux #15770
- [fix][broker] Fix NPE in MessageDeduplication #15820
- [fix][broker] Fix NPE when ledger id not found in
OpReadEntry
#15837 - [fix][broker] When skipping updating mark delete position, execute callback with executor to prevent deadlock #15971
- [fix][broker] Fix NPE when drop backlog for time limit. #16235
- [fix][broker]Fix getInternalStats occasional lack of LeaderInfo again #16238
- [fix][broker] Fix RawReader out of order #16390
- [fix][broker] Skip reading more entries for a pending read with no more entries #16400
- [fix][broker] Fix No such ledger exception #16420
- [fix][broker] Fix RawReader hasMessageAvailable returns true when no messages #16443
- [fix][broker] Fix stats-internal with option -m cause active ledger recover then close #16662
- [fix][broker] Fix passing incorrect authentication data #16840
- [fix][broker] ManagedCursor: mark delete no callback when create meta-ledger fail #16841
- [improve][broker] Avoid reconnection when a partitioned topic was created concurrently #16867
- [improve][broker] Recycle OpReadEntry in some corner cases #16869
- [fix][broker] Fix compaction subscription acknowledge Marker msg issue. #16918
Security
- [fix][sec] Use provider's canLookupAsync method for AuthorizationService #11777
- [improve][sec] Optimize the logic of allowing namespace operation #13090
- [improve][sec] Full-support set SSL provider, ciphers and protocols #13740
- [fix][sec] Role with namespace produce authz can also get topics #13773
- [improve][sec] Full-support SSL provider, ciphers, and protocols for broker service and proxy service #15034
- [improve][sec] Add load multiple certificates support #14798
- [fix][sec] Fix handling single role and non-jwt-token in MultiRolesTokenAuthorizationProvider #14857
- [fix][sec] Use tlsCertRefreshCheckDurationSec instead of 0 for refresh value #15075
- [improve][sec] Skip unnecessary DNS resolution when creating AuthenticationDataHttp instance #15221
- [improve][sec] Improve skipping of DNS resolution when creating AuthenticationDataHttp instance #15228
- [fix][sec] Fix MultiRolesTokenAuthorizationProvider
authorize
issue #15454 - [fix][sec] Fix grant all permissions but can't list topic #15501
- [improve][sec] Switch to rely on Netty for Hostname Verification #15824
- [fix][sec] Fix create client with TLS config #16014
- [fix][sec] Avoid AuthenticationDataSource mutation for subscription name #16065
- [improve][sec] Improve get the basic authentication config #16526
- [fix][sec] Fix multiple roles authorization #16645
- [fix][sec] Add timeout of sync methods and avoid call sync method for AuthoriationServi...
v2.7.5
Broker
- [fix][broker] Fix NPE when ledger id not found in
OpReadEntry
#16966 - [fix][broker] Validate rack name #16850
- [fix][broker] Fix invalid rack name cause bookie join rack failed #16845
- [fix][broker] Avoid potentially blocking calls to metadata in PersistentTopic#getMessageTTL #16899
- [fix][broker] Fix create client with TLS config #16326
- [fix][broker] Fixed deadlock on metadata cache missing while doing checkReplication #16889
- [fix][broker] Fix the wrong unit of NIC speed on Linux #15770
- [fix][broker] Close connection if a ping or pong message cannot be sent #15382
- [fix][broker] Fix MessageDeduplication#inactiveProducers may not be persistence correctly #15206
- [fix][broker] Fix messageDedup delete inactive producer name #12493
- [fix][broker] Fix the reader skips compacted data which original ledger been removed. #16407
- [fix][broker] Fix getting the last message-id from an empty compact ledger. #16402
- [fix][broker] Return message ID from compacted ledger while the compaction cursor reaches the end of the topic. #16395
- [fix][broker] Fix skips compacted data for reader/consumer #16301
- [fix][broker] Fix reader skipped remaining compacted data during the topic unloading #16300
- [fix][broker] Fix passing incorrect authentication data #16201
- [fix][broker] Fix incorrect returned last message ID while the lastConfirmedEntry with negative entry ID #16299
- [fix][broker] Fix can not enable system topic if
AutoUpdateSchemaEnabled=false
. #15754 - [fix][broker] Fix lost message issue due to ledger rollover. #14703
- [fix][broker] Fix lost message issues 12221 #12223
- [fix][broker] Fix TopicPoliciesCacheNotInitException issue. #14293
- [fix][broker] Fix deadlock when use key_shared mode #11965
- [fix][broker] Fix log content error when OverloadShedder is not used. #13540
- [improve][broker] Skip unnecessary DNS resolution when creating AuthenticationDataHttp instance #15221
- [improve][broker] Improve error logging for topic not found [#13950) #14893
- [improve][broker] Trim configuration value string which contains blank prefix or suffix string #13984
- [improve][broker] Configure DLog Bookie, Pulsar, and Admin clients via pass-through config #15818
- [cleanup][broker] Improve skipping of DNS resolution when creating AuthenticationDataHttp instance #15228
- [cleanup][broker] Remove useless code to avoid confusion in OpReadEntry#checkReadCompletion. #15104
- [cleanup][broker] Clean up individually deleted messages before the mark-delete position #14261
Security
- [improve][sec] Improve get the basic authentication config #16947
- [improve][sec] Support for get token from HTTP params #16892
- [fix][sec] AuthorizationService should use provider's canLookupAsync method #11777
- [fix][sec] Avoid AuthenticationDataSource mutation for subscription name #16065
- [fix][sec] Return if namespace policies are read only #12514
- [refactor][sec] Switch to rely on Netty for Hostname Verification #15824
- [cleanup][sec] Ignore case when obfuscating passwords in configuration scripts #15077
Storage
- [fix][storage] ManagedCursor: mark delete no callback when create meta-ledger fail #16841
- [fix][storage] Cancel offload tasks when managed ledger closed #16808
- [fix][storage] Fix lost compaction data due to compaction properties missed during reset-cursor. #16404
- [fix][storage] Do not move the non-durable cursor position when trimming ledgers while topic with compaction. #16403
- [fix][storage] Fix issues in advanceNonDurableCursors #10667
- [fix][storage] Follow up on race condition fixes in ManagedCursorImpl #15031 #15067
- [fix][storage] Fix race condition in updating lastMarkDeleteEntry field #15031
- [fix][storage] Fix NPE when removing cursor #12297
- [improve][storage] If mark-delete operation fails, mark the cursor as "dirty" #14256
Proxy
- [fix][proxy] Fix client service url #16894
- [fix][proxy] Prevent leak of unreleased lookupRequestSemaphore permits #13812
- [fix][proxy] Remove unnecessary blocking DNS lookup in LookupProxyHandler #15415
- [fix][proxy] Fix proxy connection leak when inbound connection closes while connecting is in progress #15366
- [fix][proxy] Fix port exhaustion and connection issues in Pulsar Proxy #14078
- [fix][proxy] Fix DNS server denial-of-service issue when DNS entry expires #15403
- [fix][proxy] Configure Netty DNS resolver to match JDK DNS caching setting, share DNS resolver instance in Proxy #15219
- [refactor][proxy] Refactor Proxy code and fix connection stalling by switching to auto read mode #14713
- [improve][proxy] Fail proxy startup if brokerServiceURL is missing scheme #14682
- [improve][proxy] Remove unnecessary Pulsar Client usage from Pulsar Proxy #13836
Admin
- [fix][admin] Fix validateGlobalNamespaceOwnership wrap exception issue. #14269
- [cleanup][admin] Update/fix Swagger Annotation for param: authoritative #16222
Function
- [fix][fn] Fix python instance not process zip file correctly #16697
Java Client
- [fix][java] Fix semaphore release duplicated in ProducerImpl #16972
- [fix][java] Fix MaxQueueSize semaphore release leak in createOpSendMsg #16915
- [fix][java] Fix PatternTopicsChangedListener blocked when topic removed #16842
- [fix][java] Fix ReconsumeLater will hang up if retryLetterProducer exception #16655
- [fix][java] Fix DNS server denial-of-service issue when DNS entry expires #15403
- [fix][java] Configure Netty DNS resolver to match JDK DNS caching setting, share DNS resolver instance in Proxy #15219
- [refactor][java] Switch to rely on Netty for Hostname Verification #15824
- [improve][java] Remove unnecessary Pulsar Client usage from Pulsar Proxy #13836
C++ Client
- [cleanup][cpp] Clean up C++ client curl configuration #16064
- [cleanup][cpp] Add braces around initialization of subobject #14735
Python Client
- [fix][python] Fix generated Python protobuf code not compatible with the latest protobuf package #15846
Test & Others
- [improve][test] Verify the authentication data in the authorization provider #16945
- [improve][test] Exclude inner classes in surefire #9875
- [fix][test] Enable ignored tests #16435
- [fix][test] Fix setting Bookie dbStorage_*CacheMaxSizeMb in pulsar-test-latest-version docker image #9623
- [improve][doc] Add more configuration methods for basic authentication #16941
- [fix][build] Use grpc-...
v2.9.3
Important notice
- [PIP-146] ManagedCursorInfo compression #14542
- [PIP-153] Optimize metadataPositions in MLPendingAckStore #15137
- [PIP-163] Add lowWaterMark check before appending entry to TB #15424
Broker
- [cleanup][broker] Cleanup already deleted namespace topics #12597
- [cleanup][broker] Override close method to avoid caching exception #15529
- [cleanup][broker] Remove useless code to avoid confusion in OpReadEntry#checkReadCompletion #15104
- [fix][broker] Avoid heartbeat topic to offload #15008
- [fix][broker] Cancel
fencedTopicMonitoringTask
when topic closed normally #15202 - [fix][broker] Check for blank advertised listener name #14306
- [fix][broker] Close publishLimiter when disable it #15520
- [fix][broker] Fast return if ack cumulative illegal #15695
- [fix][broker] Fix MessageDeduplication#inactiveProducers may not be persistence correctly #15206
- [fix][broker] Fix MultiRolesTokenAuthorizationProvider
authorize
issue #15454 - [fix][broker] Fix NPE in MessageDeduplication #15820
- [fix][broker] Fix NPE when ledger id not found in
OpReadEntry
#15837 - [fix][broker] Fix NPE when put value to
RangeCache
#15707 - [fix][broker] Fix NPE when set
AutoTopicCreationOverride
#15653 - [fix][broker] Fix NPE when subscription is already removed #14363
- [fix][broker] Fix REST produce msg redirect issue #15551
- [fix][broker] Fix call sync method in onPoliciesUpdate method #13885
- [fix][broker] Fix call sync method in onPoliciesUpdate method #15227
- [fix][broker] Fix cannot delete namespace with system topic #14730
- [fix][broker] Fix creating producer failure when set backlog quota #15663
- [fix][broker] Fix creating system namespace topic failure #14949
- [fix][broker] Fix deadlock in broker after race condition in topic creation failure #15570
- [fix][broker] Fix getPendingAckInternalStats redirect issue #14876
- [fix][broker] Fix inconsistent prompt message when schema version is empty using AVRO #14626
- [fix][broker] Fix incorrect entryId in warning logs when reading an entry from tiered storage #14685
- [fix][broker] Fix metadata store deadlock when checking BacklogQuota #14634
- [fix][broker] Fix no value present #14891
- [fix][broker] Fix normal topic named ends with
healthcheck
becomes system topic issue #14671 - [fix][broker] Fix parameter saslJaasBrokerSectionName in broker.conf #15110
- [fix][broker] Fix potential to add duplicated consumer #15051
- [fix][broker] Fix precision issue and initial value for Consumer#avgMessagesPerEntry #14666
- [fix][broker] Fix problem at RateLimiter#tryAcquire #15306
- [fix][broker] Fix producerFuture not completed in ServerCnx#handleProducer #14467
- [fix][broker] Fix race condition between timeout and completion in
OpAddEntry
#15233 - [fix][broker] Fix race condition in updating lastMarkDeleteEntry field #15031
- [fix][broker] Fix rewind failed when
redeliverUnacknowledgedMessages
#15046 - [fix][broker] Fix topic policy reader close bug #14897
- [fix][broker] Fix typo in enum name and handle closing of the channel properly since writeAndFlush is asynchronous #15384
- [fix][broker] Fix when nextValidLedger is null caused NPE #13975
- [fix][broker] Fix wrong prompt exception when getting the non-persistent topic list without GET_BUDNLE permission #14638
- [fix][broker] Fix wrong state for non-durable cursor #14869
- [fix][broker] Fix wrong unit of NIC speed on Linux #15770
- [fix][broker] Fix 404 error msg not being returned correctly using http lookup #14677
- [fix][broker] Follow up on race condition fixes in ManagedCursorImpl #15067
- [fix][broker] Remove the loadbalance/bundle-data node #13164
- [fix][broker] Return if reset in progress #14978
- [fix][broker] Use dispatchRateLimiterLock to update dispatchRateLimiter #15601
- [fix][broker] When skipping updating mark delete position, execute callback with executor to prevent deadlock #15971
- [fix][broker] Expose configurationMetadataStore and localMetadataStore #15661
- [fix][broker] Filter the virtual NIC with relative path #14829
- [fix][broker] Fix MetadataStoreException$NotFoundException while doing topic lookup #15633
- [fix][broker] Fix calculation in getNumberOfEntriesInStorage #15627
- [fix][broker] Fix error log miss stack trace when create tenant fail #14366
- [fix][broker] Fix resource group does not report usage #15292
- [fix][broker] Fix duplicated delayed messages when all consumers disconnect #14740
- [fix][broker] Fix the pid occupied check when using pulsar-daemon start or stop process #14701
- [fix][broker] Fix potential NPE in Replicator #15003
- [improve][broker] Add log when updating namespace policies with error #14850
- [improve][broker] Add publishRateLimitedTimes to topic metrics #15739
- [improve][broker] Avoid using blocking calls for the async method
checkTopicOwnership
#15023 - [improve][broker] Cancel offload tasks when managed ledger closed #14545
- [improve][broker] Close connection if a ping or pong message cannot be sent #15382
- [improve][broker] Configure DLog Bookie, Pulsar, and Admin clients via pass-through config #15818
- [improve][broker] Full-support SSL provider, ciphers, and protocols for broker service and proxy service #14569
- [improve][broker] Ignore the print the log that the topic does not exist #13535
- [improve][broker] Optimize RawReader#create when using Compactor #14447
- [improve][broker] Optimize find nics process #14340
- [improve][broker] Optimize memory usage: support to shrink for pendingAcks map #14515
- [improve][broker] Provide an accurate error message when set
autoTopicCreation
#14684 - [improve][broker] Reduce unnecessary expansions for ConcurrentLong map and set #14562
- [improve][broker] Set splitNamespaceBundle with
readonly=false
#14680 - [improve][broker] Skip unnecessary DNS resolution when creating AuthenticationDataHttp instance #15221
- [improve][broker] Support advertised listeners for HTTP and HTTPS services #14839
- [improve][broker] Support shrink for ConcurrentSortedLongPairSet #15354
- [improve][broker] Support shrink for map or set #14663
- [improve][broker] Support shrink in ConcurrentLongHashMap [#14497](https://github...
v2.10.1
Important notice
- [fix][broker] Fix broker LoadBalance uneffective 15314
- [fix][admin] Fix producer/consume permission can’t get schema 15956
Broker
- [fix][broker] Fix race condition in getManagedLedgerInternalStats when includeLedgerMetadata=true 15918
- [improve][broker] Avoid contended synchronized block on topic load 15883
- [fix][broker] Fix NPE in MessageDeduplication 15820
- [improve][broker] Add timeout to closing CoordinationServiceImpl 15777
- [improve][broker] Store Subscription properties 15757
- [improve][broker] Support for updating the Subscription properties 15751
- [improve][broker] Disable memory limit controller for broker client and replication clients 15723
- [fix][broker] Fix NPE when put value to
RangeCache
. 15707 - [fix][broker] Fast return if ack cumulative illegal 15695
- [fix][broker] Fix creating producer failure when set backlog quota. 15663
- [fix][broker] Expose configurationMetadataStore and localMetadataStore 15661
- [fix][broker] Fix NPE when set
AutoTopicCreationOverride
15653 - [fix][broker] Fix MetadataStoreException$NotFoundException while doing topic lookup 15633
- [fix][broker] Fix calculation in getNumberOfEntriesInStorage 15627
- [fix][broker] Use dispatchRateLimiterLock to update dispatchRateLimiter 15601
- [fix][broker] Sync topicPublishRateLimiter update 15599
- [fix][broker] Fix deadlock in broker after race condition in topic creation failure 15570
- [cleanup][broker] Override close method to avoid caching exception. 15529
- [fix][broker] Close publishLimiter when disable it 15520
- [fix][broker] Fix to avoid TopicStatsImpl NPE even if producerName is null 15502
- [fix][broker] Fix key-shared delivery of messages with interleaved delays 15409
- [fix][Broker] Fix bug in contructor of RocksdbMetadataStore 15405
- [feature][broker] EntryFilter (PIP-105) - support per-Consumer filtering 15391
- [fix][broker/client] Close connection if a ping or pong message cannot be sent 15382
- [improve][broker] Support shrink for ConcurrentSortedLongPairSet 15354
- [improve][broker] Support properties on NonDurable subscriptions (PIP-105) 15345
- [improve][broker] Use shrink map for message redelivery. 15342
- [fix][Broker] Fix error on recycled SubscriptionPropertiesList 15335
- [fix][broker] Fix problem at RateLimiter#tryAcquire 15306
- [fix][broker] Fix totalEntries calculation problem in AbstractBaseDispatcher#filterEntriesForConsumere 15298
- [fix][broker] Fix resource group does not report usage 15292
- [fix][Broker] Fix race condition between timeout and completion in
OpAddEntry
15233 - [fix][broker] Fix MessageDeduplication#inactiveProducers may not be persistence correctly 15206
- [fix][broker] Cancel
fencedTopicMonitoringTask
when topic closed normally 15202 - [fix][broker] Fix parameter saslJaasBrokerSectionName in broker.conf 15110
- [cleanup][broker] Remove useless code to avoid confusion in OpReadEntry#checkReadCompletion 15104
- [fix][broker] Ensure NamespaceEphemeralData has equals() operator 15092
- [fix][broker] Fix potential to add duplicated consumer 15051
- [fix][broker] Fix rewind failed when
redeliverUnacknowledgedMessages
15046 - [fix][broker]Fix race condition in updating lastMarkDeleteEntry field 15031
- [improve][broker] Avoid using blocking calls for the async method
checkTopicOwnership
15023 - [fix][broker] Avoid heartbeat topic to offload. 15008
- [fix][broker] Return if reset in progress 14978
- [fix][broker] Fix topic policy reader close bug 14897
- [fix][broker] Fix getPendingAckInternalStats redirect issue 14876
- [fix][broker] Fix wrong state for non-durable cursor 14869
- [improve][broker] Add log when update namespace policies with error 14850
- [feature][broker] Support advertised listeners for HTTP and HTTPS services 14839
- [fix][broker] Filter the virtual NIC with relative path 14829
- [fix][broker] Fixed duplicated delayed messages when all consumers disconnect 14740
- [fix][broker] Fix cannot delete namespace with system topic 14730
- [fix][broker] Fixed 404 error msg not being returned correctly using http lookup 14677
- [fix][broker] Fix normal topic named ends with
healthcheck
becomes system topic issue 14671 - [improve][broker] Support shrink for map or set 14663
- [improve][broker] Changing the topic creation flow and optimize heartbeat topic not trigger compaction 14643
- [fix][broker] Fix wrong prompt exception when getting the non-persistent topic list without GET_BUDNLE permission 14638
- [fix][broker] Fix inconsistent prompt message when schema version is empty using AVRO. 14626
- [fix][broker] Fix update replication cluster but not update replicator 14570
- [improve][broker] Reduce unnecessary expansions for ConcurrentLong map and set 14562
- [improve][broker] Support ManagedCursorInfo compression 14542
- [improve][broker] Optimize memory usage: support to shrink for pendingAcks map 14515
- [improve][broker] Support shrink in ConcurrentLongHashMap 14497
- [improve][broker] Optimize RawReader#create when using Compactor 14447
- [fix][broker] Fix NPE when subscription is already removed 14363
- [improve][broker] Optimize load manager find nics process 14340
- [improve][broker] Make revokePermissionsOnTopic method async 14149
- [fix][broker] Fix when nextValidLedger is null caused NPE 13975
Clients
- [fix][Java] Fixes NPE when TableView handles null value message 15951
- [fix][Java] Fix conversion of
TimestampMillisConversion
has no effect when Jsr310Conversion enabled 15863 - [fix][Java] Fix messages sent by producers without schema cannot be decoded 15622
- [improve][Java] improve logic when ACK grouping tracker checks duplicated message id 15465
- [improve][Java] Add pending messages information while printing the producer stats 15440
- [fix][Java] Fix negative ack not redelivery 15312
- [improve][admin/client] AsyncHttpConnector doesn't use the system properties configured 15307
- [fix][Java] TableView should cache created readers 15178
- [fix][Java] Fix performance regression with message listener 15162
- [fix][Java] Fix internal receive used wrong timeout type 15014
- [fix][Java] ConsumerBuilderImpl can not set null to deadLetterPolicy. [14980](https:...
v2.10.0
Important notice
- Remove -XX:-ResizePLAB JVM option which degrades performance on JDK11 #12940
- Enable TCP keepAlive flag on the sockets #12982
- Reduce the time it takes for namespace bundle unloading to time out #12995
- Align configurations defaults between default file and Java object (broker.conf, proxy.conf, websocket.conf) #13272
- [PIP 118] Do not restart brokers when ZooKeeper session expires as default #13341
- [PIP 119] Enable consistent hashing by default on KeyShared subscriptions dispatcher #13352
- [PIP 120] Enable client memory limit controller by default #13344
- Make Docker images non-root, by default, and OpenShift compliant #13376
- [PIP 122] Change loadBalancer default loadSheddingStrategy to ThresholdShedder #13733
- Fix netcat returning early for probe #14088
PIPs
- [PIP 79] Add lazy-loading feature to PartitionedProducer #10279
- [PIP 84] Pulsar client: Redeliver command add epoch #10478
- [PIP 86] Pulsar Functions: Preload and release external resources #13205
- [PIP 92] Topic policy across multiple clusters #12517
- [PIP 104] Add new consumer type: TableView #12838
- [PIP-105] Support pluggable entry filter in Dispatcher #12869 #12970 #12979
- [PIP 106] Broker extensions to provide operators of enterprise-wide clusters better control and flexibility #12536
- [PIP 107] Introduce chunk message ID #12403
- [PIP 110] Support Topic metadata - PART-1 create topic with properties #12818
- [PIP 121] Pulsar cluster level auto failover on client side #13316
- [PIP-124] Create init subscription before sending message to DLQ #13355
- [PIP-130] Apply redelivery backoff policy for ack timeout #13707
- [PIP 131] Resolve produce chunk messages failed when topic level maxMessageSize is set #13599
- [PIP 135] Include MetadataStore backend for Etcd #13225
Broker
- [PIP 45] Pluggable metadata interface
- Add BookKeeper metadata adapter based on MetadataStore #12770
- Add Rocksdb metadata store #12776
- Convert BookieRackAffinityMapping to use MetadataStore #12841
- Allow to configure metadata store URL in broker.conf #13077
- Remove old ZK caches implementations #13075
- Allow to start bookie with Pulsar metadata store backend #13296
- Remove ZooKeeperClientFactory #13303
- Use reference counting in RocksDB metadata store #13309
- Allow configuring metadata store URL in proxy.conf #13777
- Allow configuring metadata store URL in functions_worker.yml #13782
- Add configuration metadata store url setting in WebSocket #13786
- Allow configuring configurationMetadataStore when initializing cluster metadata #13889
- Using the consistent metadata store scheme name #13937
- Allow configuring
metadataStoreUrl
inpulsar-perf managed-ledger
#14145 - Deprecate zookeeper settings #14147
- Fix metadata cache inconsistency on doing refresh #14283
- Support broker level dispatch rate limiter #11325
- Support setting geo-replication clusters on topic level #12136
- Add Multi-tiered storage key to broker.conf #12173
- Support configuration to rate-limit dispatching on batch message #12294
- Support splitting the largest bundle of the namespace #12361
- Support creating a subscription by specifying the earliest or latest position #12872
- Support roll-over ledgers for inactive topics #13073
- Support graceful shutdown for Broker #14114
- Transparent batching of ZK operations #13043
- Add uniform load shedder strategy to distribute traffic uniformly across brokers #12902
- Provide option to split bundle based on load #12378
- Use AuthorizationService#grantPermissionAsync to grant topic permission #12515
- Only store authentication data after authentication is complete #12077
- Allow to have different instances LocalMemoryMetadataStore that share the same state #12390
- Allow
GetTopicsOfNamespace
op withconsume
permission #12600 - Add local filesystem backend for package manager #12708
- Add stop replicator producer logic when start replicator cluster failed #12724
- Apply PolicyHierarchyValue to inactiveTopicPolicies #12687
- Fix can not get leader broker in follower brokers #11353
- Fix broker gc log options #11285
- Fix NPE of ZkBookieRackAffinityMapping #11947
- Fix prefix setting in JWT authn and avoid multi calls for the getProperty #12132
- Fix missed check exit code of stop before calling start #12368
- Fix getting children of parent nodes in LocalMemoryMetadataStore #12491
- Fix collection get bug in ResourceGroupService #12499
- Fix deadlock in metadata-store callback thread #12753
- Improve exceptions thrown when handling the schema resource #12155
- Trim topic name #12453
- Avoid unnecessary recalculation of maxSubscriptionsPerTopic in AbstractTopic #12658
- Optimize isValidPath check in MetadataStore #12663
- Close connection after receiving unexpected SendCommand #12780
- Ensure cache is refreshed (and not just invalidated) after a store write #12788
- Optimize topicMaxMessageSize with topic local cache. #12830
- Optimize blocking backlogQuotaCheck to non-blocking in ServerCnx#handleProducer #12874
- Only refresh metadata if path is already in cache after write. #12896
- Optimize put and get methods in AbstractMetadataStore #12916
- Fix zk-node leak of admin path #12972
- Optimize TopicPolicy#deduplicationEnabled with HierarchyTopicPolicies #13000
- Fix race condition in FaultInjectionMetadataStore#programmedFailure #13007
- Fix usage of PULSAR_EXTRA_OPTS/BOOKIE_EXTRA_OPTS in startup scripts #13025
- Consider topics in pulsar/system namespace as system topics #13050
- Fix wrong result for looking up a non-exist topic by rest api #13055
- Key_Shared dispatcher with no connected consumers should be recreated if allowOutOfOrderDelivery changes #13063
- Make load-balancer config dynamic for the runtime tuning #13074
- Optimize TopicPolicy#maxProducersPerTopic with HierarchyTopicPolicies [#13082](https...
v2.9.2
ƒ Security
- Get rid of CVEs in Solr connector #13822
- Get rid of CVEs in InfluxDB connector #13821
- Get rid of CVEs in batch-data-generator #13820
- Get rid of CVEs brought in with aerospike #13819
- Suppress false positive Avro CVE-2021-43045 #13764
- Upgrade protobuf to 3.16.1 to address CVE-2021-22569 #13695
- Upgrade Jackson to 2.12.6 #13694
- Upgrade Log4j to 2.17.1 to address CVE-2021-44832 #13552
- Upgrade to Log4J 2.17.0 to mitigate CVE-2021-45105 #13392
- Cipher params not work in KeyStoreSSLContext #13322
- Use JDK default security provider when Conscrypt isn't available #12938
- Return if namespace policies are read only #12514
- Upgrade Postgre driver to 42.2.25 to get rid of CVE-2022-21724 #14119
- Bump slf4j from 1.7.25 to 1.7.32 #13595
- Upgrade Netty to 4.1.72 - CVE-2021-43797 #13328
Broker
- Fix lost message issue due to ledger rollover. #14664
- Fix thread leak in MLTransactionMetadataStore #14524
- Fix npe in ManagedLedgerImpl #14481
- Fix
Future.join()
causing deadlock. #14469 - Fix Broker HealthCheck Endpoint Exposes Race Conditions #14367
- Validate rack name #14336
- Fix avg-messagePerEntry metrics for consumer #14330
- Fix the wrong parameter in the log. #14309
- Fix batch ack count is a negative issue. #14288
- Bug fix: IllegalArgumentException: Invalid period 0.0 to calculate rate #14280
- Clean up individually deleted messages before the mark-delete position #14261
- If mark-delete operation fails, mark the cursor as "dirty" #14256
- Fix detecting number of NICs in EC2 #14252
- Remove log unacked msg. #14246
- Change broker producer fence log level #14196
- Avoid creating any topics in
NamespaceService#checkTopicExists
during topic lookup. #14134 - Fix NPE of cumulative ack mode and incorrect unack message count #14021
- Fix NPE -
ReplicatedSubscriptionsController
send marker message when enable deduplicated. #14017 - KeyShared stickyHashRange subscription: prevent stuck subscription in case of consumer restart #14014
- Add null check to workaround NPE in unit tests with Mockito/PowerMock #14006
- Fix handling of consumers with equal names on on key shared selector with consistent hashing #13991
- Trim configuration value string which contains blank prefix or suffix #13984
- WaitingCursors potential heap memory leak #13939
- Fix read schema compatibility strategy priority #13938
- Fix SystemTopicBasedTopicPoliciesService NPE issue. #13840
- NPE when get isAllowAutoUploadSchema #13831
- Fix topic produced through REST not support Authorization #13771
- Fix call sync method in async rest API for
internalGetSubscriptionsForNonPartitionedTopic
#13745 - Fix the deadlock while using zookeeper thread to create ledger #13744
- Fix inefficient forEach loop #13742
- Fix non persistent topic subscription error. #13685
- Fix invalid rack name cause bookie join rack failed #13683
- Release old bundle from ownership cache when operator split bundle #13678
- Avoid call sync method in async rest API for force delete subscription #13668
- Avoid call sync method in async rest API for delete subscription #13666
- Fix getInternalStats occasional lack of LeaderInfo #13656
- Fix internal topic effect by InactiveTopicPolicy. #13611
- Fix bug :Infinity value for CPU or Bandwidth usage #13609
- Change
ContextClassLoader
toNarClassLoader
in BrokerInterceptor #13589 - Fix NPE when unloading namespace bundle #13571
- Allow both limit and limitsize be null #13557
- The log prints NamespaceService#isServiceUnitActive exception stack information. #13553
- Update log content #13540
- HealthCheck v2 failed #13525
- Change ContextClassLoader to NarClassLoader in AdditionalServlet #13501
- Optimize the debug log that affects performance, and unify the style #13498
- Fix multi roles authz cannot handle empty roles case #13477
- Fix the NPE in system topics policies service #13469
- Fix race conditions in closing producers and consumers #13428
- Fix deadlock in metadata-store callback thread for branch 2.9 #13426
- Remove check resource when delete failure domain #13421
- Fix create the dynamic configuration resource if not exist #13420
- Fix batch message ack does not decrease the unacked-msg count. #13383
- Fix dead loop in BacklogQuotaManager.dropBacklogForTimeLimit #13249
- Modify return result of NamespacesBase#internalGetPublishRate #13237
- Optimize ManagedLedger Ledger Ownership Check #13222
- Fix shedding heartbeat ns #13208
- Fix when deleting topic with NotFoundException, do not return to client. #13203
- Clean up active consumer on already closed connection #13196
- Update cursor last active timestamp when reseting cursor #13166
- Use current resourceUsage value as historyUsage when leader change in ThresholdShedder #13136
- Don't attempt to delete pending ack store unless transactions are enabled #13041
- Fix race condition in ResourceLockImpl#revalidate #13006
- Fix NPE in
PersistentTopic.checkSubscriptionTypesEnable
#12961 - Fix wrong isEmpty method of ConcurrentOpenLongPairRangeSet #12953
- Correct param of delete method for v1 topic #12936
- Change create topic return error to Status.BAD_REQUEST #12919
- Fix topic policy listener deleted by mistake. #12904
- Remove readerCaches and close reader when exception occurs in SystemTopicBasedTopicPoliciesService #12873
- Fix deleting tenants with active namespaces with 500. #12848
- Bug Fix: topic policy is not properly init if namespace is loaded first. #12833
- Add broker config isAllowAutoUpdateSchema #12786
- Fix TopicPoliciesCacheNotInitException issue. #12773
- The problem of two exception handling #12744
- Handle lookup redirect for V1-topics with different cluster #12743
- ...
v2.8.3
Important Notices
- Fix detecting number of NICs in EC2 #14252. In the event that Pulsar cannot determine the NIC speed from the host, please set
loadBalancerOverrideBrokerNicSpeedGbps
. - Bump BookKeeper 4.14.3 12906
- Add broker config
isAllowAutoUpdateSchema
12786
Security
- Upgrade Postgres driver to 42.2.25 to get rid of CVE-2022-21724 14119
- Get rid of CVEs in Solr connector 13822
- Get rid of CVEs in InfluxDB connector 13821
- Get rid of CVEs in batch-data-generator 13820
- Get rid of CVEs brought in with aerospike 13819
- [owasp] suppress false positive Avro CVE-2021-43045 13764
- Upgrade protobuf to 3.16.1 to address CVE-2021-22569 13695
- Upgrade Jackson to 2.12.6 13694
- Upgrade Log4j to 2.17.1 to address CVE-2021-44832 13552
- Cipher params not work in KeyStoreSSLContext 13322
- [Broker] Remove tenant permission verification when list partitioned-topic 13138
- Use JDK default security provider when Conscrypt isn't available 12938
- [Authorization] Return if namespace policies are read only 12514
Pulsar Admin
- Make sure policies.is_allow_auto_update_schema not null 14409
- pulsar admin exposes secret for source and sink 13059
- Fix deleting tenants with active namespaces with 500. 13020
- [function] pulsar admin exposes secrets for function 12950
Bookkeeper
Broker
- Fix the wrong parameter in the log. 14309
- Fix batch ack count is negative issue. 14288
- bug fix: IllegalArgumentException: Invalid period 0.0 to calculate rate 14280
- Clean up individually deleted messages before the mark-delete position 14261
- If mark-delete operation fails, mark the cursor as "dirty" 14256
- Fixed detecting number of NICs in EC2 14252
- Remove log unacked msg. 14246
- Change broker producer fence log level 14196
- Fix NPE of cumulative ack mode and incorrect unack message count 14021
- KeyShared stickyHashRange subscription: prevent stuck subscription in case of consumer restart 14014
- Trim configuration value string which contains blank prefix or suffix 13984
- waitingCursors potential heap memory leak 13939
- Fix read schema compatibility strategy priority 13938
- NPE when get isAllowAutoUploadSchema 13831
- Fix call sync method in async rest API for
internalGetSubscriptionsForNonPartitionedTopic
13745 - Fix the deadlock while using zookeeper thread to create ledger 13744
- Fix inefficient forEach loop 13742
- [Issue 13640] Fix non persistent topic subscription error. 13685
- Fix invalid rack name cause bookie join rack failed 13683
- Avoid call sync method in async rest API for force delete subscription 13668
- Avoid call sync method in async rest API for delete subscription 13666
- Fix getInternalStats occasional lack of LeaderInfo 13656
- Fix reader skipped remaining compacted data during the topic unloading. 13629
- [Issue 13479] Fixed internal topic effect by InactiveTopicPolicy. 13611
- Fix bug :Infinity value for CPU or Bandwidth usage 13609
- Change
ContextClassLoader
toNarClassLoader
in BrokerInterceptor 13589 - Fix NPE when unloading namespace bundle 13571
- update log content 13540
- Return message ID from compacted ledger while the compaction cursor reach the end of the topic 13533
- Change ContextClassLoader to NarClassLoader in AdditionalServlet 13501
- fix(Auth): Fix multi roles authz cannot handle empty roles case 13477
- Fix getting the last message-id from an empty compact ledger 13476
- Fixes the NPE in system topics policies service 13469
- Fix race conditions in closing producers and consumers 13428
- Fix batch message ack does not decrease the unacked-msg count. 13383
- [Issue 13194][pulsar-broker] Fix dead loop in BacklogQuotaManager.dropBacklogForTimeLimit 13249
- Modify return result of NamespacesBase#internalGetPublishRate 13237
- Optimize ManagedLedger Ledger Ownership Check 13222
- Close old compacted ledger when open new. 13210
- fix shedding heartbeat ns 13208
- Fix when deleting topic with NotFoundException, do not return to client. 13203
- Update cursor last active timestamp when reseting cursor 13166
- Remove tenant permission verification when list partitioned-topic 13138
- Use current resourceUsage value as historyUsage when leader change in ThresholdShedder 13136
- Don't attempt to delete pending ack store unless transactions are enabled 13041
- Fix NPE in
PersistentTopic.checkSubscriptionTypesEnable
12961 - Fix wrong isEmpty method of ConcurrentOpenLongPairRangeSet 12953
- Correct param of delete method for v1 topic 12936
- Clean up the metadata of the non-persistent partitioned topics. 12910
- Fix topic policy listener deleted by mistake. 12904
- Fix deleting tenants with active namespaces with 500. 12848
- [Issue 12757] add broker config isAllowAutoUpdateSchema 12786
- Remove unused listeners if it have no listeners. 12654
- Clean up the metadata of the non-persistent partitioned topics. 12550
- [managedledger] NPE on OpAddEntry while ManagedLedger is closing 12364
- fix issues 11964, deadlock bug when use key_shared mode 11965
Build
- [C++] Fix GCC compilation failure caused by warning macro 14402
- [C++] Fix Version.h not found when CMake binary directory is customized 13324
- [Issue 9888] add python3.9 on manylinux2014 build support 10954
C++ Client
- Fix GCC compilation failure caused by warning macro 14402
- Fix pulsar client cpp build fail in gcc-4.8.5 14053
- Fix hasMessageAvailable returns wrong value for last message 13883
- Fix Version.h not found when CMake binary directory is customized 13324
- Fix in macOS CMake might find error boost-python libs path 13193
CI
- Upgrade Windows runner os to windows-2022 and generator 14368
- Replace deprecated "adopt" OpenJDK distribution with "temurin" in GitHub Actions ...
v2.8.2
Security
- Upgrade to Log4J 2.17.0 to mitigate CVE-2021-45105 #13392
- Upgrade Netty to 4.1.72 - CVE-2021-43797 #13328
- Bump log4j to 2.15.0 #13226
- Revert new AuthorizationProvider method #13133
- Support CLEAR_BACKLOG namespace op after enable auth #12963
- Upgrade netty to 4.1.68.Final #12218
- Support disabling non-TLS service ports #11681
- Upgrade Jetty to 9.4.43.v20210629 #11660
Broker
- Fix and improve topic ownership assignment #13069
- Fix LeaderElectionService.getCurrentLeader and add support for empheralOwner in MockZooKeeper #13066
- Do not reuse the Failed OpAddEntry object which leads to the bundle unloading timeout. #12993
- Remove readerCaches and close reader when exception occurs in SystemTopicBasedTopicPoliciesService #12873
- Fix TopicPoliciesCacheNotInitException issue. #12773
- Support UNSUBSCRIBE namespace op after enabling auth #12742
- Fix race condition in PersistentTopic#addReplicationCluster #12729
- Even if always compatible is set, consumers cannot be created #12721
- Fix the incorrect total size when BrokerEntryMetadata is enabled #12714
- Fix lost compaction data due to compaction properties missed during reset-cursor #12698
- Fix TestRunMain test #12675
- Support GET_METADATA topic op after enabling auth #12656
- Fix false positive ownership check in OwnershipCache#checkOwnership #12650
- Optimize exception information for schemas #12647
- Add @test annotation to test methods #12640
- Support retry when creating reader of Topic Policies #12622
- Fix String should use equals but not ==. #12619
- Fix 12614, waitingForPingResponse needs to be modified with volatile for concurrent sence #12615
- Cleanup ProxyPublishConsumeTest #12607
- Avoid passing OpAddEntry across a thread boundary in asyncAddEntry #12606
- Do not move the non-durable cursor position when trimming ledgers while topic with compaction #12602
- Allow
GetTopicsOfNamespace
op withconsume
permission #12600 - Allow configuring schema compatibility policy for system topics #12598
- Cleanup already deleted namespace topics. #12597
- Fix additional servlets NAR might extract to null directory #12585
- Fix log typo in NamespaceService#checkHeartbeatNamespace #12582
- Add OpAddEntry to pendingAddEntries after the state check #12570
- Cancel scheduled tasks when deleting ManagedLedgerImpl #12565
- Add git branch information for PulsarVersion #12541
- Websocket should pass the encryption context to consumers #12539
- The count of topics on the bundle is less than 2,skip split #12527
- Fix the reader skips compacted data which original ledger been removed #12522
- Fix
messageDedup
delete inactive producer name #12493 - Optimize the code: remove extra spaces #12470
- Future completed twice in the method of impl.MLPendingAckStore#closeAsync #12362
- Fix the race of delete subscription and delete topic #12240
- Disable stats recorder for built-in PulsarClient #12217
- Fix delete authentication policies when deleting topics. #12215
- Optimize the memory usage of Cache Eviction #12045
- Avoid adding duplicated BrokerEntryMetadata #12018
- Fix update ledger list to znode version mismatch failed, ledger not delete #12015
- Fix messages in TopicPolicies will never be cleaned up #11928
- Fix returned wrong hash ranges for the consumer with the same consumer name #12212
- Add Key_Shared metadata to topic stats #11839
- Fix build from submodules (broker, transaction coordinator) #11795
- Add method to clear up transaction buffer snapshot #11934
- Increase the test stability of transactionTest #11541
- Add maven.restlet.org repository #13248
- Fix and improve topic ownership assignment (#13069) #13117
- Evaluate the current protocol version once #13045
- Revert "Set default root log level to debug" and make PULSAR_LOG_ROOT_LEVEL default to PULSAR_LOG_LEVEL #12941
- Catch exceptions in scheduled tasks to prevent unintended cancellation #12853
- Fix producer getting incorrectly removed from topic's
producers
map #12846 - Synchronize updates to the inactiveProducers map in MessageD… #12820
- Close connection after receiving unexpected SendCommand #12780
- Fix namespace policy override ignored when creating subscription #12699
- Update lombok to 1.18.22 #12466
- Fix skips compacted data for reader/consumer #12464
- Remove data race in MultiTopicsConsumerImpl to ensure correct message order #12456
- Fix the retry topic's
REAL_TOPIC
&ORIGIN_MESSAGE_ID
property #12451 - Change the producer fence error log to debug level #12447
- Reduce the readFailureBackoff time #12444
- Fix wrong property name in NamespaceIsolationDataImpl#secondary #12433
- Optimize SecurityUtility code flow #12431
- Fix compactor skips data from last compacted Ledger #12429
- Remove redundant code #12424
- Fix some tests not enabled in integration tests #12417
- Use weak ref to ClientConnection for timeout task #12409
- Fix cherry-pick issue #12397
- Fix the null point caused by deleting the system topic policy #12367
- Update delete inactive topic configuration documentation #12350
- Add log to print exception stack. #12345
- Avoid potentially blocking calls to metadata on critical threads #12339
- Fix NPE when removing cursor #12297
- Print log when configuration is failed to load #12280
- Fix incorrect returned last message ID while the
lastConfirmedEntry
with negative entry ID #12277 - Fix TTL expiry does not take effect #12266
- The loadbalancer should avoid offload the heartbeat namespace #12252
- Fix typo of the returned last message ID when the last message ID is from compacted ledger #12237
- Add support for splitting topics and partition labels in Prometheus #12225
- Fix lost message issues 12221 #12223
- Allow to config pulsar client allo...