Re: Potential G2-item cycles under serializable isolation

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: Peter Geoghegan <pg(at)bowt(dot)ie>
Cc: Kevin Grittner <kgrittn(at)gmail(dot)com>, Jeff Davis <pgsql(at)j-davis(dot)com>, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>, Kyle Kingsbury <aphyr(at)jepsen(dot)io>
Subject: Re: Potential G2-item cycles under serializable isolation
Date: 2020-06-09 02:54:51
Message-ID: CA+hUKGKTggArfNk1KpsyZL87qzADyL3DgfGg2JHBWCK4nv-KQw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Jun 9, 2020 at 2:12 PM Peter Geoghegan <pg(at)bowt(dot)ie> wrote:
> Also, is it necessary to have the TransactionIdEquals() tests in both
> HeapCheckForSerializableConflictOut() and
> CheckForSerializableConflictOut()? Apart from anything else, the test
> in HeapCheckForSerializableConflictOut() occurs before we establish
> the topmost XID -- it could be a subxid, in which case the test is
> wrong. Though it doesn't actually matter on account of the redundancy,
> IIUC.

The double-check was present in the original commit dafaa3efb75. It
seems like a pretty straightforward optimisation:
SubTransGetTopmostTransaction(xid) might cause I/O so it's worth the
check if you can already bail out sooner. Admittedly the recent
splitting of that function made that a bit less clear.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message David G. Johnston 2020-06-09 03:03:41 Re: BUG #16486: Prompted password is ignored when password specified in connection string
Previous Message Peter Geoghegan 2020-06-09 02:30:15 Re: Potential G2-item cycles under serializable isolation