diff --git a/src/backend/distributed/connection/placement_connection.c b/src/backend/distributed/connection/placement_connection.c index ee9aa0c50..2a6f59683 100644 --- a/src/backend/distributed/connection/placement_connection.c +++ b/src/backend/distributed/connection/placement_connection.c @@ -592,6 +592,14 @@ FindPlacementListConnection(int flags, List *placementAccessList, const char *us "modified over multiple connections"))); } } + else if (accessType == PLACEMENT_ACCESS_SELECT && + placementEntry->hasSecondaryConnections) + { + /* + * Two separate connections have already selected from this placements. + * There is no benefit to using this connection. + */ + } else if (CanUseExistingConnection(flags, userName, placementConnection)) { /* @@ -599,7 +607,6 @@ FindPlacementListConnection(int flags, List *placementAccessList, const char *us */ Assert(placementConnection != NULL); - chosenConnection = placementConnection->connection; if (placementConnection->hadDDL || placementConnection->hadDML)