On Tue, Dec 1, 2020 at 7:55 AM Ajin Cherian <itsa...@gmail.com> wrote: > > On Tue, Dec 1, 2020 at 12:46 AM Amit Kapila <amit.kapil...@gmail.com> wrote: > > > > > Sure, but you can see in your example above it got skipped due to > > start_decoding_at not due to DecodingContextReady. So, the problem as > > mentioned by me previously was how we distinguish those cases because > > it can skip due to start_decoding_at during restart as well when we > > would have already sent the prepare to the subscriber. > > The distinguishing factor is that at restart, the Prepare does satisfy > DecodingContextReady (because the snapshot is consistent then). > In both cases, the prepare is prior to start_decoding_at, but when the > prepare is before a consistent point, > it does not satisfy DecodingContextReady. >
I think it won't be true when we reuse some already serialized snapshot from some other slot. It is possible that we wouldn't have encountered such a serialized snapshot while creating a slot but later during replication, we might use it because by that time some other slot has serialized the one at that point. -- With Regards, Amit Kapila.