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