From: | Karina Litskevich <litskevichkarina(at)gmail(dot)com> |
---|---|
To: | Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com> |
Cc: | kyzevan23(at)mail(dot)ru, pgsql-bugs(at)lists(dot)postgresql(dot)org |
Subject: | Re: BUG #18212: Functions txid_status() and pg_xact_status() return invalid status of the specified transaction |
Date: | 2023-11-30 05:30:36 |
Message-ID: | CACiT8iYGisogHuEUvwwY44HjXDw8hNEoCw7QvhsYjOVqp2P5JQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On Tue, Nov 28, 2023 at 8:20 AM Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
wrote:
> I considered bringing this down to a comparison of 32-bit XIDs, but
> couldn't come up with a clean method. Therefore, using full XID seems
> to be the right approach. However, it seems like there is an error in
> the XID comparison condition. There are cases where oldest_xid and
> now_epoch_next_xid can have the same value. If we skip running
> txid_current() in the repro in the your previous mail, and directly
> execute txid_status(3), it would lead to assertion failure.
>
Thank you for your feedback! You're right, I haven't thought about
this corner case. Fixed in v2.
Also, I feel the comments could be more straight forward and simple
> like this:
>
> > Convert oldest_xid into a full XID to compare with the given
> > XID. Alghouth it's guaranteed that the the oldest and newest XIDs
> > are within the XID wraparound distance, they may have different
> > epochs.
>
I tried to improve the comment too. Anyway, don't hesitate to change
it to whatever you like better.
Best regards,
Karina Litskevich
Postgres Professional: http://postgrespro.com/
Attachment | Content-Type | Size |
---|---|---|
v2-0001-Fix-TransactionIdInRecentPast.patch | text/x-patch | 2.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Sandeep Thakkar | 2023-11-30 07:13:13 | Re: BUG #18198: Constantly getting errors |
Previous Message | Kyotaro Horiguchi | 2023-11-30 00:39:13 | Re: Could not read from file "pg_subtrans/00F5" at offset 122880: Success. |