Hi Arpit, Thanks for the clarification. Replying here without updating the KIP is fine for now.
I disagree with your evaluation of the backwards compatibility. If you change the return type of a method, that breaks both source and binary compatibility. After upgrading, plugin implementations using this method would face compilation errors. Implementations that were compiled against the old interface will not be able to be loaded when the new interface is present. I see that the interface is marked Evolving which permits breaking compatibility at minor releases, but that doesn't change the compatibility of the change itself. Thanks, Greg On Thu, Mar 14, 2024 at 8:55 AM Arpit Goyal <goyal.arpit...@gmail.com> wrote: > > Hi Greg, > I do not have access to update the KIP , Divij is helping me to do it. > Meanwhile let me update your queries here. > > Backward compatibility: > These changes will not impact the existing functionality as the existing > behaviour always expects producer snapshot files to be present for a given > segment. Making Producer Snapshot file optional helps to cover both the > scenario i.e. both existing and non existing of the producer snapshot file. > > The getter of producer snapshot file would also be changed as described > below: > > Current > > /** > * @return Producer snapshot file until this segment. > */ > public Path producerSnapshotIndex() { > return producerSnapshotIndex; > } > > > Proposed > > /** > * @return Producer snapshot file until this segment. > */ > public Optional<Path> producerSnapshotIndex() { > return producerSnapshotIndex; > } > > > Thanks and Regards > Arpit Goyal > 8861094754 > > > On Wed, Mar 13, 2024 at 9:25 PM Greg Harris <greg.har...@aiven.io.invalid> > wrote: > > > Hi Arpit, > > > > Thanks for the KIP! > > > > I am not familiar with the necessity of producer snapshots, but your > > explanation sounds like this should be made optional. > > > > Can you expand the KIP to include the changes that need to be made to > > the constructor and getter, and explain more about backwards > > compatibility? From the description I can't tell if this change is > > backwards-compatible or not. > > > > Thanks, > > Greg > > > > On Wed, Mar 13, 2024 at 6:48 AM Arpit Goyal <goyal.arpit...@gmail.com> > > wrote: > > > > > > Hi all, > > > > > > I just wanted to bump up this thread. > > > > > > The KIP introduces a really small change and it would not take much of > > the > > > time reviewing it. This change would enable kafka users to use tiered > > > storage features seamlessly for the topics migrated from < 2.8 version > > > which currently failed with NullPointerException. > > > > > > I am waiting for this KIP to get approved and then start working on it. > > > > > > On Mon, Mar 11, 2024, 14:26 Arpit Goyal <goyal.arpit...@gmail.com> > > wrote: > > > > > > > Hi All, > > > > Just a Reminder, KIP-1026 is open for discussion. > > > > Thanks and Regards > > > > Arpit Goyal > > > > 8861094754 > > > > > > > > > > > > On Sat, Mar 9, 2024 at 9:27 AM Arpit Goyal <goyal.arpit...@gmail.com> > > > > wrote: > > > > > > > >> Hi All, > > > >> > > > >> I have created KIP-1026 for handling producerSnapshot empty scenarios > > > >> when the topic is upgraded from the kafka < 2.8 version. > > > >> > > > >> > > > >> > > https://cwiki.apache.org/confluence/display/KAFKA/KIP-1026%3A+Handling+producer+snapshot+when+upgrading+from+%3C+v2.8.0+for+Tiered+Storage > > > >> > > > >> Feedback and suggestions are welcome. > > > >> > > > >> Thanks and Regards > > > >> Arpit Goyal > > > >> 8861094754 > > > >> > > > > > >