From f87fefa323090c56ffec554e50389f2b914cd8cb Mon Sep 17 00:00:00 2001 From: Brian Cloutier Date: Thu, 3 Aug 2017 11:02:52 +0300 Subject: [PATCH] Refactor: DistributedTableSize more explicitly only locks pg_dist_node --- src/backend/distributed/master/master_metadata_utility.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/backend/distributed/master/master_metadata_utility.c b/src/backend/distributed/master/master_metadata_utility.c index 9aeb855d2..084ee1555 100644 --- a/src/backend/distributed/master/master_metadata_utility.c +++ b/src/backend/distributed/master/master_metadata_utility.c @@ -158,7 +158,6 @@ static uint64 DistributedTableSize(Oid relationId, char *sizeQuery) { Relation relation = NULL; - Relation pgDistNode = NULL; List *workerNodeList = NULL; ListCell *workerNodeCell = NULL; uint64 totalRelationSize = 0; @@ -175,7 +174,7 @@ DistributedTableSize(Oid relationId, char *sizeQuery) ErrorIfNotSuitableToGetSize(relationId); - pgDistNode = heap_open(DistNodeRelationId(), AccessShareLock); + LockRelationOid(DistNodeRelationId(), AccessShareLock); workerNodeList = ActivePrimaryNodeList(); @@ -187,7 +186,6 @@ DistributedTableSize(Oid relationId, char *sizeQuery) totalRelationSize += relationSizeOnNode; } - heap_close(pgDistNode, NoLock); heap_close(relation, AccessShareLock); return totalRelationSize;