+1 #9292
Thanks, Baodi Shi Yubiao Feng <yubiao.f...@streamnative.io.invalid> 于2024年12月23日周一 11:56写道: > > 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.