From 7b1d03772d889b59d8b077333c4aa2da2d446d90 Mon Sep 17 00:00:00 2001 From: Hadi Moshayedi Date: Thu, 11 Apr 2019 17:14:05 -0700 Subject: [PATCH 1/2] Don't schedule tasks on inactive nodes. --- src/backend/distributed/planner/multi_physical_planner.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/distributed/planner/multi_physical_planner.c b/src/backend/distributed/planner/multi_physical_planner.c index a12572ad5..db37985dc 100644 --- a/src/backend/distributed/planner/multi_physical_planner.c +++ b/src/backend/distributed/planner/multi_physical_planner.c @@ -5271,7 +5271,7 @@ ActivePlacementList(List *placementList) /* check if the worker node for this shard placement is active */ workerNode = FindWorkerNode(placement->nodeName, placement->nodePort); - if (workerNode != NULL) + if (workerNode != NULL && workerNode->isActive) { activePlacementList = lappend(activePlacementList, placement); } From c9b1d9c2d17721da31d108efa65cbb15426f7adf Mon Sep 17 00:00:00 2001 From: Hadi Moshayedi Date: Wed, 17 Apr 2019 16:57:33 -0700 Subject: [PATCH 2/2] Check all placements aren't inactive --- src/backend/distributed/planner/multi_physical_planner.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/distributed/planner/multi_physical_planner.c b/src/backend/distributed/planner/multi_physical_planner.c index db37985dc..073dd12bc 100644 --- a/src/backend/distributed/planner/multi_physical_planner.c +++ b/src/backend/distributed/planner/multi_physical_planner.c @@ -5213,6 +5213,12 @@ ActiveShardPlacementLists(List *taskList) /* filter out shard placements that reside in inactive nodes */ List *activeShardPlacementList = ActivePlacementList(shardPlacementList); + if (activeShardPlacementList == NIL) + { + ereport(ERROR, + (errmsg("no active placements were found for shard " UINT64_FORMAT, + anchorShardId))); + } /* sort shard placements by their creation time */ activeShardPlacementList = SortList(activeShardPlacementList,