When reaches to shared pool size, COPY sets the placement access

It looks like we forgot to set the placement accesses, and
this could lead to self-deadlocks on complex transaction blocks.
pull/4588/head
Onder Kalaci 2021-01-27 10:19:01 +01:00
parent 36bdeef1bb
commit 04fcd73eb6
1 changed files with 6 additions and 0 deletions

View File

@ -3649,6 +3649,12 @@ CopyGetPlacementConnection(HTAB *connectionStateHash, ShardPlacement *placement,
connection = connection =
GetLeastUtilisedCopyConnection(copyConnectionStateList, nodeName, GetLeastUtilisedCopyConnection(copyConnectionStateList, nodeName,
nodePort); nodePort);
/*
* Make sure that the connection management remembers that Citus
* accesses this placement over the connection.
*/
AssignPlacementListToConnection(list_make1(placementAccess), connection);
} }
else else
{ {