Re: Issue in GIN fast-insert: XLogBeginInsert + Read/LockBuffer ordering - Mailing list pgsql-hackers

From Zhang Mingli
Subject Re: Issue in GIN fast-insert: XLogBeginInsert + Read/LockBuffer ordering
Date
Msg-id 2d406e3a-07d7-4c00-9d10-fcee8f191bd5@Spark
Whole thread Raw
In response to Re: Issue in GIN fast-insert: XLogBeginInsert + Read/LockBuffer ordering  (Michael Paquier <michael@paquier.xyz>)
Responses Re: Issue in GIN fast-insert: XLogBeginInsert + Read/LockBuffer ordering
List pgsql-hackers
HI,

On Oct 12, 2022, 10:09 +0800, Michael Paquier <michael@paquier.xyz>, wrote:

Nice catches, both of you. Let's adjust everything spotted in one
shot. Matthias' patch makes the ordering right, but the
initialization path a bit harder to follow when using a separate list.
The code is short so it does not strike me as a big deal, and it comes
from the fact that we need to lock an existing buffer when merging two
lists. For the branch where we insert into a tail page, the pages are
already locked but it looks to be enough to move XLogBeginInsert()
before the first XLogRegisterBuffer() call.

Would any of you like to write a patch?
--
Michael
Patch added.

Regards,
Zhang Mingli
Attachment

pgsql-hackers by date:

Previous
From: Önder Kalacı
Date:
Subject: Re: [Proposal] Add foreign-server health checks infrastructure
Next
From: Peter Eisentraut
Date:
Subject: Re: ExecRTCheckPerms() and many prunable partitions