pgsql: Optimize DropRelFileNodesAllBuffers() for recovery.

From: Amit Kapila <akapila(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Optimize DropRelFileNodesAllBuffers() for recovery.
Date: 2021-01-13 02:32:54
Message-ID: E1kzVxu-0001TS-8j@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Optimize DropRelFileNodesAllBuffers() for recovery.

Similar to commit d6ad34f341, this patch optimizes
DropRelFileNodesAllBuffers() by avoiding the complete buffer pool scan and
instead find the buffers to be invalidated by doing lookups in the
BufMapping table.

This optimization helps operations where the relation files need to be
removed like Truncate, Drop, Abort of Create Table, etc.

Author: Kirk Jamison
Reviewed-by: Kyotaro Horiguchi, Takayuki Tsunakawa, and Amit Kapila
Tested-By: Haiying Tang
Discussion: https://postgr.es/m/OSBPR01MB3207DCA7EC725FDD661B3EDAEF660@OSBPR01MB3207.jpnprd01.prod.outlook.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/bea449c635c0e68e21610593594c1e5d52842cdd

Modified Files
--------------
src/backend/storage/buffer/bufmgr.c | 86 +++++++++++++++++++++++++++++++++----
src/backend/storage/smgr/smgr.c | 12 +++---
src/include/storage/bufmgr.h | 2 +-
3 files changed, 84 insertions(+), 16 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Amit Kapila 2021-01-13 04:17:58 pgsql: Fix memory leak in SnapBuildSerialize.
Previous Message Michael Paquier 2021-01-13 01:34:52 pgsql: Fix routine name in comment of catcache.c