From: | Ajin Cherian <itsajin(at)gmail(dot)com> |
---|---|
To: | cca5507 <cca5507(at)qq(dot)com> |
Cc: | Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, pgsql-hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Historic snapshot doesn't track txns committed in BUILDING_SNAPSHOT state |
Date: | 2025-03-27 02:30:32 |
Message-ID: | CAFPTHDa0B0a7yL90r1Rh4dAd+Q-mozYnGO26eXf7wxmpMF7NEQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, Mar 27, 2025 at 1:13 PM cca5507 <cca5507(at)qq(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2025-03-27 02:40:32 | Re: making EXPLAIN extensible |
Previous Message | torikoshia | 2025-03-27 02:06:43 | Re: Change log level for notifying hot standby is waiting non-overflowed snapshot |