From 9576c09bee33d9278c713cc8ce834162cff7ccec Mon Sep 17 00:00:00 2001 From: Nhat Nguyen Date: Thu, 17 Mar 2022 13:10:38 -0400 Subject: [PATCH] TransportBroadcastAction should always set response for each shard (#84926) The TransportBroadcastAction can leave the responses of some group unset if all shards of that group hit shard_unavailable_exception. --- docs/changelog/84926.yaml | 5 +++++ .../action/support/broadcast/TransportBroadcastAction.java | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 docs/changelog/84926.yaml diff --git a/docs/changelog/84926.yaml b/docs/changelog/84926.yaml new file mode 100644 index 0000000000000..8cca84e828c53 --- /dev/null +++ b/docs/changelog/84926.yaml @@ -0,0 +1,5 @@ +pr: 84926 +summary: '`TransportBroadcastAction` should always set response for each shard' +area: Search +type: bug +issues: [] diff --git a/server/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java b/server/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java index 46d7014529cd1..ca6a54cc298aa 100644 --- a/server/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java +++ b/server/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java @@ -262,11 +262,6 @@ protected void finishHim() { } void setFailure(ShardIterator shardIt, int shardIndex, Exception e) { - // we don't aggregate shard failures on non active shards (but do keep the header counts right) - if (TransportActions.isShardNotAvailableException(e)) { - return; - } - if ((e instanceof BroadcastShardOperationFailedException) == false) { e = new BroadcastShardOperationFailedException(shardIt.shardId(), e); }