Re: Issue in GIN fast-insert: XLogBeginInsert + Read/LockBuffer ordering
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Michael Paquier <michael@paquier.xyz>, Zhang Mingli <zmlpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>, Matthias van de Meent <boekewurm+postgres@gmail.com>
Date: 2022-10-25T07:37:08Z
Lists: pgsql-hackers
On 2022-Oct-25, Tom Lane wrote: > Michael Paquier <michael@paquier.xyz> writes: > > On Mon, Oct 24, 2022 at 02:22:16PM +0200, Alvaro Herrera wrote: > >> I confess I don't understand why is it important that XLogBeginInsert is > >> called inside the critical section. It seems to me that that part is > >> only a side-effect of having to acquire the buffer locks in the critical > >> section. Right? > > > Yeah, you are right that it would not matter for XLogBeginInsert(), > > though I'd like to think that this is a good practice on consistency > > grounds with anywhere else, and we respect what's documented in the > > README. > > Yeah --- it's documented that way, and there doesn't seem to be > a good reason not to honor that here. Okay, so if we follow this argument, then the logical conclusion is that this *should* be backpatched, after all. -- Álvaro Herrera Breisgau, Deutschland — https://www.EnterpriseDB.com/ Maybe there's lots of data loss but the records of data loss are also lost. (Lincoln Yeoh)
Commits
-
Fix ordering issue with WAL operations in GIN fast insert path
- b02fc7df193b 10.23 landed
- 341fba2a6291 11.18 landed
- 51c24d9e21d7 12.13 landed
- 594b97509e49 13.9 landed
- 5a30d43fa986 14.6 landed
- ca4070f2b4b1 15.1 landed
- 56b662523fd4 16.0 landed