Skip to content

v2.8.2

Compare
Choose a tag to compare
@315157973 315157973 released this 12 Jan 09:39
· 6385 commits to master since this release

Security

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 with consume 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 allocator out of memory policy #12200
  • Remove redundant parameters #12188
  • Fix incorrect logger numbers in tests #12168
  • Return the last position of the compacted data while the original data has been deleted #12161
  • Improve exceptions thrown when handling the schema resource #12155
  • Fix prefix setting in JWT authn and avoid multi calls for the getProperty #12132
  • Fix used after recycle issue in OpAddEntry #12103
  • Bugfix: Fix rackaware placement policy init error #12097
  • Fix wrong key-hash selector used for new consumers after all the previous consumers disconnected #12035
  • Fix cherry-pick issue on branch-2.8 #11982
  • Remove unused variable and unnecessary box in NamespaceBundleFactory #11975
  • Print position info when can't find next valid position. #11969
  • Fix NPE ZkBookieRackAffinityMapping #11947
  • Avoid to infinitely split bundle #11937
  • Improved logic for pausing replicated subscription snapshots when no traffic #11922
  • Fix ZKSessionTest.testReacquireLocksAfterSessionLost #11886
  • Schema compatibility strategy in broker level. #11856
  • Use TestRetrySupport for BaseMetadataStoreTests to cleanup state between retries #11771
  • Remove replace_maven-wagon-http-version.sh script #11718
  • Check null or empty instead of catch NPE #11655
  • Avoid duplicate deletion of schema #11640
  • Fix subscribeRateLimiter cannot be disabled #11614
  • Fix race condition in concurrent schema deletion #11606
  • Use get instead of join to avoid getting stuck #11597
  • Avoid to cal getMaximumRolloverTimeMs everytime #11513
  • Fix improper class/method/field modifiers #10837
  • Support max-connection and max-connection-per-IP #10754
  • Allow Integration Tests Jar to be deployed to Maven central #12292

C++ Client

  • Fix libcurl miss auth header when broker return 307 #13112
  • Define and expose PULSAR_VERSION macro #12769
  • Fix request timeout for GetLastMessageId doesn't work #12586
  • Fix connection read error logging #12492
  • Delay ClientCredentialFlow::initialize to the first authenticate call #12372
  • Use URL encoded content type for OAuth 2.0 authentication #12341
  • Handle OAuth 2.0 exceptional cases gracefully #12335
  • Support configuring optional scope field for OAuth2 authentication #12305
  • Fix the issue of attempting to connect to multiple IP addresses #11958
  • Handle error when shutting down client after forks #11954
  • Move all C symbols into C++ pulsar namespace #11919
  • Make some cleanup methods thread safe #11762
  • Turn on more compiler warnings and enforce warnings as errors #11668
  • Fix use-after-free and constructor bugs in UnAckedMessageTrackerEnabled #11630
  • Allow partitioned producers to start lazily #11570

Functions

  • K8s runtime: force deletion to avoid hung function worker during connector restart #12504
  • Fix k8s pulsar functions containers not exposing metrics port for scraping #12065
  • Enable protobuf-native schema support for function #11868
  • Pass SubscriptionPosition from FunctionDetails to FunctionConfig / SinkConfig #11831
  • Reorganize the context hierarchy for functions #10631
  • Remove the deprecated API usage in HDFS #12080
  • Stop OffsetStore when stopping the connector #12457
  • Support set subscription position #11990
  • Sync to the latest function proto #11853
  • Fix classloader leaks #12973
  • Add missing dependency #12246
  • ConcurrentHashMap should be used for caching producers #11820
  • Support KEY_BASED batch builder for Java based functions and sources #11706

Pulsar Admin

  • Print topic internal info as formatted JSON #12709
  • Fix last exit code storage #12581
  • Fix the issue of failing to update partitions of topics #11683
  • Perfect judgment conditions of pulsar-admin #12315
  • Fix log level config for pulsar-admin, pulsar-client and pulsar-perf #12915
  • Modify exception of set-properties for namespace #12436
  • Get schema validation enforce add applied #12349

Tiered Storage

  • Add retry to tolerate the offload index file read failure #12452
  • Fix the read performance issue in the offload readAsync #12443
  • Fix FileSystemManagedLedgerOffloader can not clean up outdated ledger #12309
  • Fix the potential race condition in the BlobStore readhandler #12123

Pulsar SQL

  • Handle message null schema version in PulsarRecordCursor #12809
  • Pulsar SQL support query big entry data #12448

Websocket

  • Fix the batch message ack for WebSocket proxy. #12530
  • Add debug log for WebSocket. #12458
  • Remove System.out.println from ConsumerHandler #11459

Java Client

  • Remove the uncorrected VisableTesting annotation in pulsar-client #11784
  • Fix packages tool parameter desc #11809
  • Add an optional params scope for pulsar oauth2 client #11931
  • Fix producer data race to get cnx #13176
  • Send CloseProducer on timeout #13161
  • Let producer reconnect for state RegisteringSchema #12781
  • Use epoch to version producer's cnx to prevent early de… #12779
  • Pulsar Client: restore SchemaInfo.builder() API #12673
  • Remove invalid call to Thread.currentThread().interrupt(); #12652
  • Add additional error handling in auto partition update task MultiTopicsConsumerImpl #12620
  • Fix invalid firstSentAt in log message when timeout first time #12588
  • Update producer stats when producer close #12500
  • 'StartMessageId' and 'RollbackDuration' not working in MultiTopicsReader for non-partitioned topics #12308
  • Use failPendingMessages to ensure proper cleanup #12259
  • Auto-recovery after exception like out of direct memory #12170
  • Fix endless receiveAsync loop in MultiTopicsConsumer #12044
  • Make Audience Field Optional in OAuth2 Client Credentials #11988
  • Forget to update memory usage on producer close #11906
  • Fix ConcurrentModificationException in sendAsync #11884
  • Hide option -s and substitute -ss(0) for it #11828
  • Fix seek at batchIndex level receive duplicated messages #11826
  • Reduce redundant FLOW requests for non-durable multi-topics consumer #11802
  • Add close method in the class of NegativeAcksTracker #12469
  • Fix a typo in UnAckedMessageTracker #12467
  • Fix message being ignored when the non-persistent topic reader reconnect. #12348
  • Fix deadLetterPolicy is not working with key shared subscription under partitioned topic #12148
  • Forget to call SendCallback on producer close #11939

CLI

  • Enable CLI to publish non-batched messages #12641
  • Make it possible to disable poolMessages #12108
  • Add total messages when periodic printing throughput #12084
  • Make it possible to disable poolMessages #12090

Python Client

  • Python schema support custom Avro configurations for Enum type #12642
  • Fix frequent segmentation fault of Python tests by refactoring ExecutorService #12427
  • Support setting namespace for python schema #12175
  • Force Python CI to use earlier version of Protobuf which supports Python2 #12058
  • py::call_method error without mutating internal state #11840
  • Python client support using custom Avro schema definition #12516
  • Remove python3 from vcpkg.json #12092
  • Provide str operator for BytesSchema #12593
  • Do not sort schema fields by default #12232
  • Make python3 the default python in java-test-image #12130
  • Expose Client.shutdown() method #11955

Unit Test

  • Broker resource group test optimize fail msg #12438
  • Fix windows test path problem #12398
  • Make AuthenticationTokenTest to run on windows #12329
  • Use correct line separator instead of \n #12143

Bookkeeper

  • Add readWorkerThreadsThrottlingEnabled to conf/bookkeeper.conf #12666
  • UseV2WireProtocol for bookkeeper autorecovery #12311

Proxy

  • Reduce the severity of log "refreshing key manager" in KeyManagerProxy #12594
  • Set default HTTP proxy request timeout #11971
  • Set default httpProxyTimeout to 5 minutes #12299
  • Fix Pulsar Proxy to re-use authentication instance #12245
  • Fix NPE in ProxyConnection with no auth data #12111
  • Fix ProxyConnection to check for existence of auth_data field #12057