+1, Thank you, Yubiao for resolving this. -Lari
On 2025/01/24 08:02:54 Yubiao Feng wrote: > Hi all > > After discussing with Lari and Metteo, we get a conclusion: > - 3.0, 3.3, 4.0: set default value of #9292 to `false` > - `4.1`: set the default value of #9292 to `true` > > I have cherry-picked #9292 into branch-3 and branch-3.3, and cherry-picked > and #23759 into branch-3., branch-3.3 and branch-4.0 > > And I pushed a PR to set the default value of the feature to `true` to > improve `branch-4.1` > - https://github.com/apache/pulsar/pull/23888 > > > On Mon, Dec 23, 2024 at 11:53 AM Yubiao Feng <yubiao.f...@streamnative.io> > wrote: > > > Hi all > > > > ## Background > > PR #9292 improved the serialization for cursor metadata, which reduces > > Young GC and makes Pulsar persist more ack records of the cursor, but it > > also caused two issues below > > > > **Issue-1: Downgrade compatibility issue** > > - It changed the default implementation of cursor serialization. > > - Users can not rollback to `3.0.x` once upgraded to `4.0.x` because > > `release:3.0.x` does not contain the deserialization introduced by it, > > > > **Issue-2: It is in conflict with another config > > unackedRangesOpenCacheSetEnabled** > > - If users disabled `unackedRangesOpenCacheSetEnabled`, the cursor ack > > records will always be lost. see details > > https://github.com/apache/pulsar/pull/23759 > > > > ## Goal > > > > - Add an optional config to disable the feature that compresses cursor > > metadata, which was contributed by #9292 > > > > ``` > > cursorMetadataSerialization=V2 > > ``` > > > > - Since it reduced Young GC, I want to cherry-pick it into branch-3.0 with > > a disabled default value. > > > > >