From 910ea392f5845f034813fef506c5b7bdb97e683f Mon Sep 17 00:00:00 2001 From: Onder Kalaci Date: Wed, 22 Aug 2018 11:42:51 +0300 Subject: [PATCH] Prevent multiple placements of a single shard to lead huge memory allocations --- src/backend/distributed/planner/multi_router_planner.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/distributed/planner/multi_router_planner.c b/src/backend/distributed/planner/multi_router_planner.c index 277b5deed..b43f5ea4f 100644 --- a/src/backend/distributed/planner/multi_router_planner.c +++ b/src/backend/distributed/planner/multi_router_planner.c @@ -2545,6 +2545,12 @@ IntersectPlacementList(List *lhsPlacementList, List *rhsPlacementList) WORKER_LENGTH) == 0) { placementList = lappend(placementList, rhsPlacement); + + /* + * We don't need to add the same placement over and over again. This + * could happen if both placements of a shard appear on the same node. + */ + break; } } }