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 →
  1. Fix locking when fixing an incomplete split of a GIN internal page

  2. Add backend support for injection points

Dear&nbsp;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.&nbsp;


Maybe I missed something. hlinnaka, do you have any suggestions?


Best Regards,
Fei Changhong
Alibaba Cloud Computing Ltd.


&nbsp;