From eb9075699af3a1942a1d679ea5c3ae62e881cbd9 Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Wed, 6 Mar 2019 10:46:50 +0100 Subject: [PATCH 1/2] Fix Snapshot BwC with Version 5.6.x * We were sending the wrong snapshot shard status update format to 5.6 (but reading the correct version) so tests would fail with 5.6 masters but not with 5.6 nodes running against a 6.7 master * Closes #39721 --- .../org/elasticsearch/snapshots/SnapshotShardsService.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java b/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java index 116a3f45b0087..9b82c9cdd3f23 100644 --- a/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java +++ b/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java @@ -514,9 +514,6 @@ private void notifyFailedSnapshotShard(Snapshot snapshot, ShardId shardId, Strin void sendSnapshotShardUpdate(Snapshot snapshot, ShardId shardId, ShardSnapshotStatus status, DiscoveryNode masterNode) { try { if (masterNode.getVersion().onOrAfter(Version.V_6_1_0)) { - UpdateIndexShardSnapshotStatusRequest request = new UpdateIndexShardSnapshotStatusRequest(snapshot, shardId, status); - transportService.sendRequest(transportService.getLocalNode(), UPDATE_SNAPSHOT_STATUS_ACTION_NAME, request, INSTANCE_SAME); - } else { remoteFailedRequestDeduplicator.executeOnce( new UpdateIndexShardSnapshotStatusRequest(snapshot, shardId, status), new ActionListener() { @@ -557,6 +554,10 @@ public String executor() { } }) ); + } else { + transportService.sendRequest( + transportService.getLocalNode(), UPDATE_SNAPSHOT_STATUS_ACTION_NAME_V6, + new UpdateSnapshotStatusRequestV6(snapshot, shardId, status), INSTANCE_SAME); } } catch (Exception e) { logger.warn(() -> new ParameterizedMessage("[{}] [{}] failed to update snapshot state", snapshot, status), e); From 5ee854530b05c21f835b8e3fb1d56bb86607f6fd Mon Sep 17 00:00:00 2001 From: Armin Braun Date: Wed, 6 Mar 2019 11:55:41 +0100 Subject: [PATCH 2/2] wrong node --- .../org/elasticsearch/snapshots/SnapshotShardsService.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java b/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java index 9b82c9cdd3f23..48c1356e8659a 100644 --- a/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java +++ b/server/src/main/java/org/elasticsearch/snapshots/SnapshotShardsService.java @@ -555,8 +555,7 @@ public String executor() { }) ); } else { - transportService.sendRequest( - transportService.getLocalNode(), UPDATE_SNAPSHOT_STATUS_ACTION_NAME_V6, + transportService.sendRequest(masterNode, UPDATE_SNAPSHOT_STATUS_ACTION_NAME_V6, new UpdateSnapshotStatusRequestV6(snapshot, shardId, status), INSTANCE_SAME); } } catch (Exception e) {