From 14d8b2e25b9c78d19593be36852d626aca019923 Mon Sep 17 00:00:00 2001 From: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com> Date: Tue, 11 Jul 2023 18:15:09 +0530 Subject: [PATCH] Fixing API field name from routing to shards Signed-off-by: Shourya Dutta Biswas <114977491+shourya035@users.noreply.github.com> --- .../stats/RemoteStoreStatsResponse.java | 2 +- .../org/opensearch/index/shard/IndexShard.java | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/org/opensearch/action/admin/cluster/remotestore/stats/RemoteStoreStatsResponse.java b/server/src/main/java/org/opensearch/action/admin/cluster/remotestore/stats/RemoteStoreStatsResponse.java index a7147e896c1c8..5b41d1710970b 100644 --- a/server/src/main/java/org/opensearch/action/admin/cluster/remotestore/stats/RemoteStoreStatsResponse.java +++ b/server/src/main/java/org/opensearch/action/admin/cluster/remotestore/stats/RemoteStoreStatsResponse.java @@ -93,7 +93,7 @@ public String toString() { } static final class Fields { - static final String SHARDS = "routing"; + static final String SHARDS = "shards"; static final String INDICES = "indices"; } } diff --git a/server/src/main/java/org/opensearch/index/shard/IndexShard.java b/server/src/main/java/org/opensearch/index/shard/IndexShard.java index 6a12984f9fa27..42c69935f2db5 100644 --- a/server/src/main/java/org/opensearch/index/shard/IndexShard.java +++ b/server/src/main/java/org/opensearch/index/shard/IndexShard.java @@ -4777,15 +4777,9 @@ private String copySegmentFiles( } else { skippedSegments.add(file); } - if (targetRemoteDirectory != null) { - targetRemoteDirectory.copyFrom(storeDirectory, file, file, IOContext.DEFAULT); - } - if (file.startsWith(IndexFileNames.SEGMENTS)) { - assert segmentNFile == null : "There should be only one SegmentInfosSnapshot file"; - segmentNFile = file; - } } beforeSegmentDownload(downloadStatsTracker, segmentsToDownload.size(), totalSizeOfSegmentsToDownload); + // Copying segments files to local store directory from remote store directory (Shard Recovery) for (String file : segmentsToDownload) { long startTimeInMs = System.currentTimeMillis(); try { @@ -4797,6 +4791,16 @@ private String copySegmentFiles( afterSegmentDownloadFailed(downloadStatsTracker, uploadedSegments.get(file).getLength()); } } + // Copying segment files over to target remote directory from local store directory (Snapshot) + if (targetRemoteDirectory != null) { + for (String file : uploadedSegments.keySet()) { + targetRemoteDirectory.copyFrom(storeDirectory, file, file, IOContext.DEFAULT); + if (file.startsWith(IndexFileNames.SEGMENTS)) { + assert segmentNFile == null : "There should be only one SegmentInfosSnapshot file"; + segmentNFile = file; + } + } + } } finally { logger.info("Downloaded segments here: {}", downloadedSegments); logger.info("Skipped download for segments here: {}", skippedSegments);