diff --git a/server/src/main/java/org/elasticsearch/cluster/ClusterInfo.java b/server/src/main/java/org/elasticsearch/cluster/ClusterInfo.java index fcf3abbb23cca..523524bf67911 100644 --- a/server/src/main/java/org/elasticsearch/cluster/ClusterInfo.java +++ b/server/src/main/java/org/elasticsearch/cluster/ClusterInfo.java @@ -26,6 +26,7 @@ import org.elasticsearch.xcontent.XContentBuilder; import java.io.IOException; +import java.util.Collections; import java.util.HashSet; import java.util.Iterator; import java.util.Map; @@ -98,7 +99,7 @@ public ClusterInfo( ) { this.leastAvailableSpaceUsage = Map.copyOf(leastAvailableSpaceUsage); this.mostAvailableSpaceUsage = Map.copyOf(mostAvailableSpaceUsage); - this.shardSizes = Map.copyOf(shardSizes); + this.shardSizes = Collections.unmodifiableMap(shardSizes); // intentional use unmodifiableMap to avoid expensive copying this.shardDataSetSizes = Map.copyOf(shardDataSetSizes); this.dataPath = Map.copyOf(dataPath); this.reservedSpace = Map.copyOf(reservedSpace); diff --git a/server/src/main/java/org/elasticsearch/cluster/ClusterInfoSimulator.java b/server/src/main/java/org/elasticsearch/cluster/ClusterInfoSimulator.java index f8c69a96e1287..bf3a5c33b5b8d 100644 --- a/server/src/main/java/org/elasticsearch/cluster/ClusterInfoSimulator.java +++ b/server/src/main/java/org/elasticsearch/cluster/ClusterInfoSimulator.java @@ -159,7 +159,7 @@ public ClusterInfo getClusterInfo() { return new ClusterInfo( leastAvailableSpaceUsage, mostAvailableSpaceUsage, - shardSizes.toImmutableMap(), + shardSizes, shardDataSetSizes, dataPath, Map.of(),