From a2f53dff747b17f0a5b165ca3fe8948d12e076a6 Mon Sep 17 00:00:00 2001 From: Onder Kalaci Date: Wed, 22 Jul 2020 11:19:31 +0200 Subject: [PATCH] Make FindAvailableConnection() more strict With adaptive connection management, we might have some connections which are not fully initialized. Those connections should not be qualified as available. --- .../distributed/connection/connection_management.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/backend/distributed/connection/connection_management.c b/src/backend/distributed/connection/connection_management.c index 14438c37e..3cc8bb0c5 100644 --- a/src/backend/distributed/connection/connection_management.c +++ b/src/backend/distributed/connection/connection_management.c @@ -450,6 +450,15 @@ FindAvailableConnection(dlist_head *connections, uint32 flags) continue; } + if (connection->initilizationState != POOL_STATE_INITIALIZED) + { + /* + * If the connection has not been initialized, it should not be + * considered as available. + */ + continue; + } + return connection; }