I disagree on making a change to the Pulsar 4.0 default value since Pulsar 4.0 
has already been released. 
Instead of changing the default for 4.0.2, it's better to guide users to set 
this to false if they'd like to upgrade and later downgrade without losing 
individual ack information.
We should have a separate upgrade guide where this is explained.
In general users will benefit of the PR-9292 behavior so there shouldn't be a 
reason to postpone this for 5.0.

-Lari

On 2024/12/24 02:16:26 Yubiao Feng wrote:
> Hi Penghui
> 
> > And for the feature version release, user should also able to downgrade
> from 4.x to 3.x without any compatibility issues, so for any feature
> releases between 4.0 to 5.0 should also disable it by default.
> > Cherry-pick to 3.0 sounds good to me with disabled by default, but we need
> to highlight in the documentation and configuration file that enabling this
> feature will break the backward compatibility if user wants to rollback to
> 2.11.
> 
> Agree.
> 
> On Tue, Dec 24, 2024 at 1:50 AM PengHui Li <peng...@apache.org> wrote:
> 
> > Hi Yubiao,
> >
> > Thanks for driving this fix. Based on the LTS version strategy, user should
> > able to upgrade from 3.0 to 4.0 without and compatibility issues and
> > downgrade from 4.0 to 3.0 without any compatibility issues.
> >
> >
> > https://pulsar.apache.org/contribute/release-policy/#compatibility-between-releases
> >
> > So, we should also disable it by default in 4.0, but we can consider to
> > make it as default in 5.0.
> >
> > And for the feature version release, user should also able to downgrade
> > from 4.x to 3.x without any compatibility issues, so for any feature
> > releases between 4.0 to 5.0 should also disable it by default.
> >
> > Cherry-pick to 3.0 sounds good to me with disabled by default, but we need
> > to highlight in the documentation and configuration file that enabling this
> > feature will break the backward compatibility if user wants to rollback to
> > 2.11.
> >
> > Regards,
> > Penghui
> >
> > On Mon, Dec 23, 2024 at 01:43 Baodi Shi <ba...@apache.org> wrote:
> >
> > > +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.
> > >
> >
> 

Reply via email to