diff --git a/core/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java b/core/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java index e1aa7a085d3..902628f3d7e 100644 --- a/core/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java +++ b/core/src/main/java/org/elasticsearch/cluster/routing/IndexShardRoutingTable.java @@ -611,7 +611,7 @@ public class IndexShardRoutingTable implements Iterable { } public IndexShardRoutingTable build() { - return new IndexShardRoutingTable(shardId, Collections.unmodifiableList(shards)); + return new IndexShardRoutingTable(shardId, Collections.unmodifiableList(new ArrayList<>(shards))); } public static IndexShardRoutingTable readFrom(StreamInput in) throws IOException { diff --git a/core/src/main/java/org/elasticsearch/gateway/DanglingIndicesState.java b/core/src/main/java/org/elasticsearch/gateway/DanglingIndicesState.java index 983fcf73b3f..1ccdd55dad7 100644 --- a/core/src/main/java/org/elasticsearch/gateway/DanglingIndicesState.java +++ b/core/src/main/java/org/elasticsearch/gateway/DanglingIndicesState.java @@ -141,7 +141,7 @@ public class DanglingIndicesState extends AbstractComponent { return; } try { - allocateDangledIndices.allocateDangled(Collections.unmodifiableCollection(danglingIndices.values()), new LocalAllocateDangledIndices.Listener() { + allocateDangledIndices.allocateDangled(Collections.unmodifiableCollection(new ArrayList<>(danglingIndices.values())), new LocalAllocateDangledIndices.Listener() { @Override public void onResponse(LocalAllocateDangledIndices.AllocateDangledResponse response) { logger.trace("allocated dangled"); diff --git a/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java b/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java index 6afa0c96e5f..916cf563fb8 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java +++ b/core/src/main/java/org/elasticsearch/index/shard/CommitPoint.java @@ -22,6 +22,7 @@ package org.elasticsearch.index.shard; import org.elasticsearch.common.Nullable; import org.elasticsearch.index.store.StoreFileMetaData; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -89,8 +90,8 @@ public class CommitPoint { this.version = version; this.name = name; this.type = type; - this.indexFiles = Collections.unmodifiableList(indexFiles); - this.translogFiles = Collections.unmodifiableList(translogFiles); + this.indexFiles = Collections.unmodifiableList(new ArrayList<>(indexFiles)); + this.translogFiles = Collections.unmodifiableList(new ArrayList<>(translogFiles)); } public long version() { diff --git a/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java b/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java index 9f4a2aa96ce..403bd4d6212 100644 --- a/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java +++ b/core/src/main/java/org/elasticsearch/index/shard/CommitPoints.java @@ -27,6 +27,7 @@ import org.elasticsearch.common.xcontent.XContentParser; import org.elasticsearch.common.xcontent.XContentType; import java.io.IOException; +import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Iterator; @@ -46,7 +47,7 @@ public class CommitPoints implements Iterable { return (o2.version() < o1.version() ? -1 : (o2.version() == o1.version() ? 0 : 1)); } }); - this.commitPoints = Collections.unmodifiableList(commitPoints); + this.commitPoints = Collections.unmodifiableList(new ArrayList<>(commitPoints)); } public List commits() { diff --git a/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshot.java b/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshot.java index 282e869ef01..afc4db597c8 100644 --- a/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshot.java +++ b/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshot.java @@ -32,6 +32,7 @@ import org.elasticsearch.common.xcontent.*; import org.elasticsearch.index.store.StoreFileMetaData; import java.io.IOException; +import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -342,7 +343,7 @@ public class BlobStoreIndexShardSnapshot implements ToXContent, FromXContentBuil assert indexVersion >= 0; this.snapshot = snapshot; this.indexVersion = indexVersion; - this.indexFiles = Collections.unmodifiableList(indexFiles); + this.indexFiles = Collections.unmodifiableList(new ArrayList<>(indexFiles)); this.startTime = startTime; this.time = time; this.numberOfFiles = numberOfFiles; diff --git a/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshots.java b/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshots.java index fa06dff558d..098dd5208b0 100644 --- a/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshots.java +++ b/core/src/main/java/org/elasticsearch/index/snapshots/blobstore/BlobStoreIndexShardSnapshots.java @@ -51,7 +51,7 @@ public class BlobStoreIndexShardSnapshots implements Iterable, To private final ImmutableMap> physicalFiles; public BlobStoreIndexShardSnapshots(List shardSnapshots) { - this.shardSnapshots = Collections.unmodifiableList(shardSnapshots); + this.shardSnapshots = Collections.unmodifiableList(new ArrayList<>(shardSnapshots)); // Map between blob names and file info Map newFiles = newHashMap(); // Map between original physical names and file info @@ -77,7 +77,7 @@ public class BlobStoreIndexShardSnapshots implements Iterable, To } ImmutableMap.Builder> mapBuilder = ImmutableMap.builder(); for (Map.Entry> entry : physicalFiles.entrySet()) { - mapBuilder.put(entry.getKey(), Collections.unmodifiableList(entry.getValue())); + mapBuilder.put(entry.getKey(), Collections.unmodifiableList(new ArrayList<>(entry.getValue()))); } this.physicalFiles = mapBuilder.build(); this.files = ImmutableMap.copyOf(newFiles); @@ -99,7 +99,7 @@ public class BlobStoreIndexShardSnapshots implements Iterable, To } ImmutableMap.Builder> mapBuilder = ImmutableMap.builder(); for (Map.Entry> entry : physicalFiles.entrySet()) { - mapBuilder.put(entry.getKey(), Collections.unmodifiableList(entry.getValue())); + mapBuilder.put(entry.getKey(), Collections.unmodifiableList(new ArrayList<>(entry.getValue()))); } this.physicalFiles = mapBuilder.build(); } diff --git a/core/src/main/java/org/elasticsearch/snapshots/SnapshotUtils.java b/core/src/main/java/org/elasticsearch/snapshots/SnapshotUtils.java index feda0276bd9..0f76fbdfc7f 100644 --- a/core/src/main/java/org/elasticsearch/snapshots/SnapshotUtils.java +++ b/core/src/main/java/org/elasticsearch/snapshots/SnapshotUtils.java @@ -116,7 +116,7 @@ public class SnapshotUtils { } } if (result == null) { - return Arrays.asList(selectedIndices); + return Collections.unmodifiableList(new ArrayList<>(Arrays.asList(selectedIndices))); } return Collections.unmodifiableList(new ArrayList<>(result)); }