The Apache Pulsar community releases version 2.10.3! 50 contributors provided improvements and bug fixes that delivered 155 commits. Thanks for all your contributions.
This blog walks through the most noteworthy changes. For the complete list including all feature enhancements and bug fixes, check out the Pulsar 2.10.3 Release Notes.
Add getState
in transactions for client APIs (PR-17423)
Issue
In earlier versions, the state of transactions on the client side could not be obtained with the client APIs. Users have no way to check the state of transactions before ending them.
Resolution
Add an interface to get the state of transactions.
Enable delayed transaction messages (PR-17548)
Issue
In earlier versions, delayed message delivery and transaction messages could not be used simultaneously. When sending a transaction message with a certain delay and committing this transaction, the messages sent by transactions are immediately received by consumers without any expected delay.
Resolution
Allow clients to send delayed messages with transactions using trackDelayedDelivery
.
Allow configuring and disabling the size of lookahead
for detecting fixed delays in messages (PR-17907)
Issue
When detecting that all messages have a fixed delay time, it’s helpful that users can configure the size of lookahead
to detect and pause the reads from cursors. But in earlier versions, the size of `lookahead is pre-defined and fixed, which lacks flexibility and limits the usage.
Resolution
Allow configuring and disabling the size of lookahead
for detecting fixed delays in messages.
Fix memory leak while offloading ledgers (PR-18500)
Issue
In earlier versions, BlockAwareSegmentInputStreamImpl
never releases the BookKeeper entries in the close
method, leading to OutOfDirectMemory
errors on brokers that frequently run offloading activities. This PR fixes the incorrect if
conditions.
Fix namespace cannot be deleted by force (PR-18307)
Issue
In earlier versions, when you delete a namespace by force, if __transaction_buffer_snapshot
and __change_events
(system topic for topic policies) have been deleted, then the deletion of regular topics will fail because it cannot clear the snapshots and topic policies.
Resolution
Delete regular topics before deleting system topics when deleting a namespace. And deleting the system topic __change_events
does not clear its topic policy.
What’s Next?
If you are interested in learning more about Pulsar 2.10.3, you can download and try it out now!
For more information about the Apache Pulsar project and current progress, visit the Pulsar website, follow the project on Twitter @apache_pulsar, and join Pulsar Slack!