On Thu, Mar 27, 2025 at 1:13 PM cca5507 <cca5...@qq.com> wrote: > > Hi, > > - IIUC your "fast forward" concern is not related to this particular thread > but you > - think it's already an issue on the master branch (outside of the > BUILDING_SNAPSHOT > - handling we are discussing here), is that correct? (that's also what your > coding > - changes makes me think of). If so, I'd suggest to open a dedicated thread > for that > - particular "fast forward" point and do the coding in the current thread as > if the > - fast forward is not an issue. > > - Does that make sense? > > Yes. > > But I think the v4-0001 in [1] is fine. >
@@ -1301,6 +1335,7 @@ DecodeTXNNeedSkip(LogicalDecodingContext *ctx, XLogRecordBuffer *buf, Oid txn_dbid, RepOriginId origin_id) { if (SnapBuildXactNeedsSkip(ctx->snapshot_builder, buf->origptr) || + SnapBuildCurrentState(ctx->snapshot_builder) < SNAPBUILD_CONSISTENT || (txn_dbid != InvalidOid && txn_dbid != ctx->slot->data.database) || FilterByOrigin(ctx, origin_id)) return true; I don't see an explanation as to why this change was added? Maybe I missed it in the multiple threads. With this, we are no longer decoding changes which were in the state SNAPBUILD_FULL_SNAPSHOT. Why did that change? regards, Ajin Cherian Fujitsu Australia