Hi Omnia and Chris, I agree with setting "replication.policy.internal.topic.separator.enabled=true" by default, but I was wondering if we should also deprecate and remove in Kafka 4. If there is agreement in having the same behavior for internal and non-internal topics, then it should be fine, and we won't need to keep an additional configuration around. Wdyt?
Cheers Fede On Fri, Jul 14, 2023 at 1:51 PM Omnia Ibrahim <o.g.h.ibra...@gmail.com> wrote: > > Hi Chris, I added a section for backport plan here > https://cwiki.apache.org/confluence/display/KAFKA/KIP-949%3A+Add+flag+to+enable+the+usage+of+topic+separator+in+MM2+DefaultReplicationPolicy#KIP949:AddflagtoenabletheusageoftopicseparatorinMM2DefaultReplicationPolicy-Backportingplan > > Cheers, > Omnia > > > On 13 Jul 2023, at 19:33, Chris Egerton <chr...@aiven.io.INVALID> wrote: > > > > Hi Omnia, > > > > Yes, I think we ought to state the backport plan in the KIP, since it's > > highly unusual for KIP changes or new configuration properties to be > > backported and we should get the approval of the community (including > > binding and non-binding voters) before implementing it. > > > > Cheers, > > > > Chris > > > > On Thu, Jul 13, 2023 at 7:13 AM Omnia Ibrahim <o.g.h.ibra...@gmail.com> > > wrote: > > > >> Hi Chris, > >> The implementation should be very small so backporting this to 3.1 and 3.2 > >> would be perfect for this case if you or any other committer are okay with > >> approving the backporting. Do we need to state this in KIP as well or not? > >> > >> Also, I’ll open a vote for the KIP today and prepare the pr for it so we > >> can merge it as soon as we can. > >> > >> Thanks, > >> > >> Omnia > >> > >> On Wed, Jul 12, 2023 at 4:31 PM Chris Egerton <chr...@aiven.io.invalid> > >> wrote: > >> > >>> Hi Omnia, > >>> > >>> Thanks for changing the default, LGTM 👍 > >>> > >>> As far as backporting goes, we probably won't be doing another release > >> for > >>> 3.1, and possibly not for 3.2 either; however, if we can make the > >>> implementation focused enough (which I don't think would be too > >> difficult, > >>> but correct me if I'm wrong), then we can still backport through 3.1. > >> Even > >>> if we don't do another release it can make life easier for people who are > >>> maintaining parallel forks. Obviously this shouldn't be taken as a > >> blanket > >>> precedent but in this case it seems like the benefits may outweigh the > >>> costs. What are your thoughts? > >>> > >>> Cheers, > >>> > >>> Chris > >>> > >>> On Wed, Jul 12, 2023 at 9:05 AM Omnia Ibrahim <o.g.h.ibra...@gmail.com> > >>> wrote: > >>> > >>>> Hi Chris, thanks for the feedback. > >>>> 1. regarding the default value I had the same conflict of which version > >>> to > >>>> break the backward compatibility with. We can just say that this KIP > >>> gives > >>>> the release Pre KIP-690 the ability to keep the old behaviour with one > >>>> config and keep the backwards compatibility from post-KIP-690 the same > >> so > >>>> we don't break at least the last 3 versions. I will update the KIP to > >>>> switch the default value to true. > >>>> 2. For the backporting, which versions can we backport these to? > >> Usually, > >>>> Kafka supports bugfix releases as needed for the last 3 releases. Now > >> we > >>> @ > >>>> 3.5 so the last 3 are 3.4, 3.3 and 3.2 is this correct? > >>>> 3. I'll add a Jira for updating the docs for this KIP so we don't > >> forget > >>>> about it. > >>>> > >>>> Thanks > >>>> Omnia > >>>> > >>>> > >>>> On Mon, Jul 10, 2023 at 5:33 PM Chris Egerton <chr...@aiven.io.invalid > >>> > >>>> wrote: > >>>> > >>>>> Hi Omnia, > >>>>> > >>>>> Thanks for taking this on! I have some thoughts but the general > >>> approach > >>>>> looks good. > >>>>> > >>>>> 1. Default value > >>>>> > >>>>> One thing I'm wrestling with is what the default value of the new > >>>> property > >>>>> should be. I know on the Jira ticket I proposed that it should be > >>> false, > >>>>> but I'm having second thoughts. Technically we'd preserve backward > >>>>> compatibility with pre-KIP-690 releases by defaulting to false, but > >> at > >>>> the > >>>>> same time, we'd break compatibility with post-KIP-690 releases. And > >> if > >>> we > >>>>> default to true, the opposite would be true: compatibility would be > >>>> broken > >>>>> with pre-KIP-690 releases, but preserved with post-KIP-690 releases. > >>>>> > >>>>> One argument against defaulting to false (which, again, would > >> preserve > >>>> the > >>>>> behavior of MM2 before we accidentally broke compatibility with > >>> KIP-690) > >>>> is > >>>>> that this change could possibly cause a single MM2 setup to break > >>>>> twice--once when upgrading from a pre-KIP-690 release to an existing > >>>>> release, and again when upgrading from that existing release to a > >>> version > >>>>> that reverted (by default) to pre-KIP-690 behavior. On the other > >> hand, > >>> if > >>>>> we default to true (which would preserve the existing behavior that > >>>> breaks > >>>>> compatibility with pre-KIP-690 releases), then any given setup will > >>> only > >>>> be > >>>>> broken once. > >>>>> > >>>>> In addition, if we default to true right now, then we don't have to > >>> worry > >>>>> about changing that default in 4.0 to a more intuitive value (I hope > >> we > >>>> can > >>>>> all agree that, for new clusters, it makes sense to set this property > >>> to > >>>>> true and not to distinguish between internal and non-internal > >> topics). > >>>>> > >>>>> With that in mind, I'm now leaning more towards defaulting to true, > >> but > >>>>> would be interested in your thoughts. > >>>>> > >>>>> > >>>>> 2. Backport? > >>>>> > >>>>> It's highly unlikely to backport changes for a KIP, but given the > >>> impact > >>>> of > >>>>> the compatibility break that we're trying to address here, and the > >>>>> extremely low risk of the proposed changes, I think we should > >> consider > >>>>> backporting the proposed fix to all affected release branches (i.e., > >>> 3.1 > >>>>> through 3.5). > >>>>> > >>>>> > >>>>> 3. Extra steps > >>>>> > >>>>> I also think we can take these additional steps to try to help > >> prevent > >>>>> users from being bitten by this change: > >>>>> > >>>>> - Add a note to our upgrade instructions [1] for all affected > >> versions > >>>> that > >>>>> instructs users on how to safely upgrade to a post-KIP-690 release, > >> for > >>>>> versions that both do and do not include the changes from this KIP > >>>>> - Log a warning message on MM2 startup if the config contains an > >>> explicit > >>>>> value for "replication.policy.separator" but does not contain an > >>> explicit > >>>>> value for "replication.policy.internal.topic.separator.enabled" > >>>>> > >>>>> These details don't necessarily have to be codified in the KIP, but > >>>> they're > >>>>> worth taking into account when considering how to design any > >> functional > >>>>> changes in order to better try to gauge how well this could go for > >> our > >>>>> users. > >>>>> > >>>>> [1] - https://kafka.apache.org/documentation.html#upgrade > >>>>> > >>>>> > >>>>> Thanks again for the KIP! > >>>>> > >>>>> Cheers, > >>>>> > >>>>> Chris > >>>>> > >>>>> On Fri, Jul 7, 2023 at 10:12 AM Omnia Ibrahim < > >> o.g.h.ibra...@gmail.com > >>>> > >>>>> wrote: > >>>>> > >>>>>> Hi everyone, > >>>>>> I want to start the discussion of the KIP-949. The proposal is here > >>>>>> > >>>>>> > >>>>> > >>>> > >>> > >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-949%3A+Add+flag+to+enable+the+usage+of+topic+separator+in+MM2+DefaultReplicationPolicy > >>>>>> < > >>>>>> > >>>>> > >>>> > >>> > >> https://cwiki.apache.org/confluence/display/KAFKA/KIP-949%3A+Add+flag+to+enable+the+usage+of+topic+separator+in+MM2+DefaultReplicationPolicy > >>>>>>> > >>>>>> > >>>>>> Thanks for your time and feedback. > >>>>>> Omnia > >>>>>> > >>>>> > >>>> > >>> > >> >