Re: BUG #18212: Functions txid_status() and pg_xact_status() return invalid status of the specified transaction

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

In response to

Responses

Browse pgsql-bugs by date

  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.