Hi Yubiao, There is no consensus to disable PR 9292 behavior ("Support large number of unack message store for cursor recovery") in branch-4.0. That's why I oppose what you are suggesting for branch-4.0. I also suggest reverting the change in the master branch regarding the default setting change. PR 23759 was merged without first reaching consensus in this discussion thread.
According to Apache's decision making process, consensus means the project as a whole has arrived at a decision that everyone can live with. In ASF projects, we don't want to vote. Instead, we want to reach consensus through discussion. In this thread, there are clearly opposing viewpoints that haven't been reconciled: - Yubiao and Baodi advocate for disabling PR 9292 to maintain downgrade compatibility - Enrico suggests keeping the current behavior in Pulsar 4.0.x and documenting it - I've argued for keeping PR 9292's behavior enabled due to its performance benefits and due to the fact that it's already available for Pulsar 4.0.0, 4.0.1 and 4.0.2 users The proposal to merge changes to branch-4.0 and disable PR 9292 by default in 4.0.3 faces several concerns: - It would break expectations for existing Pulsar 4.0.0, 4.0.1 and 4.0.2 users - Point releases (4.0.x) shouldn't introduce surprising behavioral changes - The performance benefits of PR 9292 are significant for high-scale deployments Alternative approaches have been proposed but not fully discussed: - Adding comprehensive upgrade documentation for upgrading to Pulsar 4.0 - Providing clear configuration guidance for users who need downgrade capability without losing individual acknowledgement state of subscriptions Given these unresolved matters, there isn't sufficient consensus to proceed with making the changes that you are suggesting. The Apache Way requires us to continue discussion when there is disagreement. For reference, the Apache decision making process is documented here: https://community.apache.org/committers/decisionMaking.html Before making my suggestions for resolving this deadlock, I hope other Pulsar community members could chime in. -Lari On Tue, 21 Jan 2025 at 04:32, Yubiao Feng <yubiao.f...@streamnative.io.invalid> wrote: > > Hi all > > - To maintain compatibility, I will cherry-pick #9292 for branch-3 and > branch-3.3 and cherry-pick and #23759 into branch-3., branch-3.3 and > branch-4.0 after 48 hours. Please share your views if you have concerns. > > > On Mon, Jan 20, 2025 at 9:47 AM Yubiao Feng <yubiao.f...@streamnative.io> > wrote: > > > Hi all > > > > Since no more arguments, I merged the PR > > > > On Tue, Jan 14, 2025 at 5:05 PM Yubiao Feng <yubiao.f...@streamnative.io> > > wrote: > > > >> Hi Lari > >> > >> > Let's start making progress: > >> > - keep PR 9292 as default > >> > - implement PR 23759 without changing the PR 9292 default > >> > - write a proper upgrade guide for Pulsar 4.0 where rollback > >> > considerations are explained > >> > Makes sense? > >> > >> I do not think that it makes sense to me, there is no discussion to > >> announce the feature before, and users never realized it in any doc so far. > >> > >> Thanks > >> Yubiao Feng > >> > >> On Tue, Jan 14, 2025 at 3:56 PM Lari Hotari <lhot...@apache.org> wrote: > >> > >>> On Tue, 14 Jan 2025 at 09:26, Baodi Shi <ba...@apache.org> wrote: > >>> > > >>> > hi, @lari and @enrico thanks for discuss. > >>> > > >>> > Yes, I agree that PR 9292 is a useful feature. > >>> > > >>> > > >>> https://pulsar.apache.org/contribute/release-policy/#compatibility-between-releases > >>> > > >>> > When I look at our compatibility strategy, what we promised is > >>> > compatibility from 3.0 -> 4.0 -> 3.0. > >>> > > >>> > Note that when the documentation mentions 3.0 and 4.0, I understand > >>> > that they are the latest versions of 3.0 and 4.0, not the earlier > >>> > ones. > >>> > > >>> > We need to ensure this, right? > >>> > >>> When we say there's support for downgrading (rollback), it doesn't > >>> mean users don't need to take any action. > >>> > >>> We ensure downgrade compatibility by providing an upgrade guide that > >>> explains how to configure the system to allow rollbacks without losing > >>> state information. If we didn't do this, we'd always be stuck in the > >>> same situation whenever a new LTS version comes out. > >>> > >>> Let's start making progress: > >>> - keep PR 9292 as default > >>> - implement PR 23759 without changing the PR 9292 default > >>> - write a proper upgrade guide for Pulsar 4.0 where rollback > >>> considerations are explained > >>> > >>> Makes sense? > >>> > >>> > >>> -Lari > >>> > >>