+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.
> >
> >
> 

Reply via email to