Re: MarkBufferDirty Assert held LW_EXCLUSIVE lock fail when ginFinishSplit
feichanghong <feichanghong@qq.com>
From: feichanghong <feichanghong@qq.com>
To: Heikki Linnakangas <hlinnaka@iki.fi>
Cc: Michael Paquier <michael@paquier.xyz>, pgsql-bugs <pgsql-bugs@lists.postgresql.org>
Date: 2024-03-27T06:43:15Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix locking when fixing an incomplete split of a GIN internal page
- e6511fe649c5 12.18 landed
- e74c916657b5 13.14 landed
- f120c0872427 14.11 landed
- e43425f48154 15.6 landed
- b899e00e716b 16.2 landed
- 6a1ea02c491d 17.0 landed
-
Add backend support for injection points
- d86d20f0ba79 17.0 cited
Dear hlinnaka, I once attempted to construct a scenario with multiple backends concurrently performing the split that leads to gin index corruption. Unfortunately, I did not succeed. The reason is that ginInsertCleanup requires an Exclusive Lock on METAPAGE, preventing multiple processes from simultaneously executing the cleanup. Maybe I missed something. hlinnaka, do you have any suggestions? Best Regards, Fei Changhong Alibaba Cloud Computing Ltd.