From 0a5112964de19ae4571a3a4f3f75800b661d369d Mon Sep 17 00:00:00 2001 From: Onder Kalaci Date: Wed, 27 Jul 2022 18:06:53 +0200 Subject: [PATCH] Call relation access hash clean-up irrespective of remote transaction state Mainly because local-only transactions should be cleaned up --- src/backend/distributed/connection/placement_connection.c | 1 - src/backend/distributed/transaction/transaction_management.c | 3 +++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/distributed/connection/placement_connection.c b/src/backend/distributed/connection/placement_connection.c index 2aa3994a0..225bf9708 100644 --- a/src/backend/distributed/connection/placement_connection.c +++ b/src/backend/distributed/connection/placement_connection.c @@ -969,7 +969,6 @@ ResetPlacementConnectionManagement(void) hash_delete_all(ConnectionPlacementHash); hash_delete_all(ConnectionShardHash); hash_delete_all(ColocatedPlacementsHash); - ResetRelationAccessHash(); /* * NB: memory for ConnectionReference structs and subordinate data is diff --git a/src/backend/distributed/transaction/transaction_management.c b/src/backend/distributed/transaction/transaction_management.c index 66525e6ac..0778a34fa 100644 --- a/src/backend/distributed/transaction/transaction_management.c +++ b/src/backend/distributed/transaction/transaction_management.c @@ -36,6 +36,7 @@ #include "distributed/repartition_join_execution.h" #include "distributed/transaction_management.h" #include "distributed/placement_connection.h" +#include "distributed/relation_access_tracking.h" #include "distributed/shared_connection_stats.h" #include "distributed/subplan_execution.h" #include "distributed/version_compat.h" @@ -307,6 +308,7 @@ CoordinatedTransactionCallback(XactEvent event, void *arg) } ResetGlobalVariables(); + ResetRelationAccessHash(); /* * Make sure that we give the shared connections back to the shared @@ -376,6 +378,7 @@ CoordinatedTransactionCallback(XactEvent event, void *arg) AfterXactConnectionHandling(false); ResetGlobalVariables(); + ResetRelationAccessHash(); /* * Clear MetadataCache table if we're aborting from a CREATE EXTENSION Citus