@Luke Chen @Kamal Chandraprakash <kamal.chandraprak...@gmail.com> @Greg Harris Any suggestion on the above two possible approaches. On Sun, Mar 17, 2024, 13:36 Arpit Goyal <goyal.arpit...@gmail.com> wrote:
> >>> In summary , There are two possible solution to handle the above > scenario when producer snapshot file found to be null > > 1. *Generate empty producer snapshot file at run time when copying > LogSegment* > > > - This will not require any backward compatibility dependencies with > the plugin. > - It preserves the contract i.e producerSnapshot files should be > mandatory. > - We could have a metric which helps us to assess how many times empty > snapshot files have been created. > > 2. * Make producerSnapshot files optional * > > - This would break the contract with the plugin and would require > defining a set of approaches to handle it which is mentioned earlier in the > thread. > - If we make producer Snapshot optional , We would not be handling > the error which @LukeChen mentioned when producerSnapshot > accidentally deleted a given segment. But this holds true for > TransactionalIndex. > - The other question is do we really need to make the field optional. > The only case where this problem can occur is only when the topic migrated > from < 2.8 version. > >