From 02663d0282af005ac1a97bae72564fb96eed3afe Mon Sep 17 00:00:00 2001 From: Matthew Jaffee Date: Thu, 28 Apr 2022 12:27:33 -0500 Subject: [PATCH] when calculating what nodes can process a shard allow UNKNOWN state we have an issue where nodes get into UNKNOWN state rather frequently during periods of high load when they aren't actually down. We want to allow queries in this situation rather than giving a "shard unavailable" message. --- executor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/executor.go b/executor.go index 54534079c..5bb33acde 100644 --- a/executor.go +++ b/executor.go @@ -5707,7 +5707,7 @@ loop: // If the node being considered is in any state other than STARTED, // then exclude it from the map. This way, one of that node's // healthy replicas will be included instead. - if topology.Nodes(nodes).ContainsID(node.ID) && node.State == disco.NodeStateStarted { + if topology.Nodes(nodes).ContainsID(node.ID) && (node.State == disco.NodeStateStarted || node.State == disco.NodeStateUnknown) { m[node] = append(m[node], shard) continue loop }