Reduce page locking in GIN vacuum
Teodor Sigaev <teodor@sigaev.ru>
Reduce page locking in GIN vacuum GIN vacuum during cleaning posting tree can lock this whole tree for a long time with by holding LockBufferForCleanup() on root. Patch changes it with two ways: first, cleanup lock will be taken only if there is an empty page (which should be deleted) and, second, it tries to lock only subtree, not the whole posting tree. Author: Andrey Borodin with minor editorization by me Reviewed-by: Jeff Davis, me https://commitfest.postgresql.org/13/896/
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/gin/ginbtree.c | modified | +1 −1 |
| src/backend/access/gin/ginvacuum.c | modified | +131 −105 |
| src/backend/access/gin/README | modified | +11 −4 |
| src/include/access/gin_private.h | modified | +2 −0 |