RE: [PATCH] Speedup truncates of relation forks
Jamison, Kirk <k.jamison@jp.fujitsu.com>
From: "Jamison, Kirk" <k.jamison@jp.fujitsu.com>
To: 'Masahiko Sawada' <sawada.mshk@gmail.com>
Cc: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2019-06-17T08:01:04Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Speedup truncations of relation forks.
- 6d05086c0a79 13.0 landed
-
Remove unused smgrdounlinkfork() function.
- 33a94bae605e 13.0 landed
-
Accelerate end-of-transaction dropping of relations
- 279628a0a7cf 9.3.0 cited
Attachments
- v2-0001-Speedup-truncates-of-relation-forks.patch (application/octet-stream) patch v2-0001
Hi all, Attached is the v2 of the patch. I added the optimization that Sawada-san suggested for DropRelFileNodeBuffers, although I did not acquire the lock when comparing the minBlock and target block. There's actually a comment written in the source code that we could pre-check buffer tag for forkNum and blockNum, but given that FSM and VM blocks are small compared to main fork's, the additional benefit of doing so would be small. >* We could check forkNum and blockNum as well as the rnode, but the >* incremental win from doing so seems small. I personally think it's alright not to include the suggested pre-checking. If that's the case, we can just follow the patch v1 version. Thoughts? Comments and reviews from other parts of the patch are also very much welcome. Regards, Kirk Jamison