Anonymitaet commented on code in PR #553: URL: https://github.com/apache/pulsar-site/pull/553#discussion_r1185650704
########## blog/2023-04-19-Apache-Pulsar-2-10-4.md: ########## @@ -0,0 +1,59 @@ +--- +title: "What’s New in Apache Pulsar 2.10.4" +date: 2023-04-19 +author: "liangyepianzhou, Anonymitaet, momo-jun" +--- + +The Apache Pulsar community releases version 2.10.4! 37 contributors provided improvements and bug fixes that delivered 12 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.4 Release Notes](https://pulsar.apache.org/release-notes/versioned/pulsar-2.10.4/). + +<!--truncate--> + +### Improve performance in Key_Shared subscriptions ([PR-19167](https://github.com/apache/pulsar/pull/19167)) + +#### Issue +In earlier versions, Key_Shared subscriptions suffered from performance issues due to the lack of a ref count for sticky hash. + +#### Resolution +A significant performance improvement has been made to the Key_Shared subscriptions by adding a ref count for sticky hash. This optimization reduces the time required to check if messages contain the hash from a given sticky hash set, resulting in improved performance and efficiency. + +### AbstractBatchedMetadataStore - Use AlreadyClosedException instead of IllegalStateException ([PR-19284](https://github.com/apache/pulsar/pull/19284)) + +#### Issue +In earlier versions, when the broker was shutting down, the `AbstractBatchedMetadataStore` would complete pending operations with a generic `IllegalStateException`. However, code dependent on the `MetadataStore` usually expected instances of `MetadataStoreException` and might not react properly to this error. + +#### Resolution +This PR improves the error handling during broker shutdown by completing pending operations with an `AlreadyClosedException` instead of `IllegalStateException`. This ensures that the dependent code responds more appropriately to the error, even if the broker is shutting down. + +### Fix open cursor with null-initialPosition, resulting in the earliest position ([PR-18416](https://github.com/apache/pulsar/pull/18416)) + +#### Issue +In earlier versions, called `ledger.openCursor("xxx", null)` with a null `initialPosition` parameter would result in the cursor being set to the earliest position, causing unexpected behavior. The root cause of this issue was due to incorrect handling of the `initialPosition` in `ManagedLedgerImpl.java`. + + +#### Resolution +This PR fixes the issue by ensuring that the correct initial position is used when opening a cursor with a null `initialPosition`. The code now sets the cursor to the latest position, as expected. + + +### Add isActive in ManagedCursorImpl ([PR-19341](https://github.com/apache/pulsar/pull/19341)) + +#### Issue +In previous versions, when there were many concurrent subscriptions in a topic, broker performance would degrade due to many io-threads waiting for the lock, synchronized (activeCursors) while calling checkBackloggedCursors. + +#### Resolution +This PR adds an `isActive` variable in `ManagedCursorImpl` to minimize the access to `activeCursors` in `ManagedLedgerImpl,` which reduces the contention on the lock and improves the broker performance with many concurrent subscriptions. + +### Support deleting partitioned topics with the keyword -partition- ([PR-19230](https://github.com/apache/pulsar/pull/19230)) + +#### Issue +In earlier versions, although users could create partitioned topics using the client when partitioned type auto-creation was enabled, there was no support for deleting these partitioned topics. + +#### Resolution +This PR adds support for deleting partitioned topics using the keyword `-partition-`, making it easier for users to manage their partitioned topics. + +# What’s Next? + +If you are interested in learning more about Pulsar 2.10.4, you can [download](https://pulsar.apache.org/download/) and try it out now! + +For more information about the Apache Pulsar project and current progress, visit the Pulsar website and follow the project. Review Comment: ```suggestion For more information about the Apache Pulsar project and current progress, visit the [Pulsar website](https://pulsar.apache.org), follow the project on Twitter [@apache_pulsar](https://twitter.com/apache_pulsar), and join [Pulsar Slack](https://apache-pulsar.slack.com/)! ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org