27
27
import org .elasticsearch .cluster .routing .ShardRouting ;
28
28
import org .elasticsearch .cluster .routing .allocation .DiskThresholdSettings ;
29
29
import org .elasticsearch .cluster .service .ClusterService ;
30
- import org .elasticsearch .common .collect .ImmutableOpenMap ;
31
30
import org .elasticsearch .common .settings .ClusterSettings ;
32
31
import org .elasticsearch .common .settings .Setting ;
33
32
import org .elasticsearch .common .settings .Setting .Property ;
40
39
import org .elasticsearch .threadpool .ThreadPool ;
41
40
42
41
import java .util .ArrayList ;
42
+ import java .util .Collections ;
43
43
import java .util .HashMap ;
44
44
import java .util .HashSet ;
45
45
import java .util .List ;
@@ -83,8 +83,8 @@ public class InternalClusterInfoService implements ClusterInfoService, ClusterSt
83
83
private volatile TimeValue updateFrequency ;
84
84
private volatile TimeValue fetchTimeout ;
85
85
86
- private volatile ImmutableOpenMap <String , DiskUsage > leastAvailableSpaceUsages ;
87
- private volatile ImmutableOpenMap <String , DiskUsage > mostAvailableSpaceUsages ;
86
+ private volatile Map <String , DiskUsage > leastAvailableSpaceUsages ;
87
+ private volatile Map <String , DiskUsage > mostAvailableSpaceUsages ;
88
88
private volatile IndicesStatsSummary indicesStatsSummary ;
89
89
90
90
private final ThreadPool threadPool ;
@@ -97,8 +97,8 @@ public class InternalClusterInfoService implements ClusterInfoService, ClusterSt
97
97
private RefreshScheduler refreshScheduler ;
98
98
99
99
public InternalClusterInfoService (Settings settings , ClusterService clusterService , ThreadPool threadPool , Client client ) {
100
- this .leastAvailableSpaceUsages = ImmutableOpenMap .of ();
101
- this .mostAvailableSpaceUsages = ImmutableOpenMap .of ();
100
+ this .leastAvailableSpaceUsages = Map .of ();
101
+ this .mostAvailableSpaceUsages = Map .of ();
102
102
this .indicesStatsSummary = IndicesStatsSummary .EMPTY ;
103
103
this .threadPool = threadPool ;
104
104
this .client = client ;
@@ -181,15 +181,15 @@ public void onResponse(NodesStatsResponse nodesStatsResponse) {
181
181
logger .warn (() -> "failed to retrieve stats for node [" + failure .nodeId () + "]" , failure .getCause ());
182
182
}
183
183
184
- ImmutableOpenMap . Builder <String , DiskUsage > leastAvailableUsagesBuilder = ImmutableOpenMap . builder ();
185
- ImmutableOpenMap . Builder <String , DiskUsage > mostAvailableUsagesBuilder = ImmutableOpenMap . builder ();
184
+ Map <String , DiskUsage > leastAvailableUsagesBuilder = new HashMap <> ();
185
+ Map <String , DiskUsage > mostAvailableUsagesBuilder = new HashMap <> ();
186
186
fillDiskUsagePerNode (
187
187
adjustNodesStats (nodesStatsResponse .getNodes ()),
188
188
leastAvailableUsagesBuilder ,
189
189
mostAvailableUsagesBuilder
190
190
);
191
- leastAvailableSpaceUsages = leastAvailableUsagesBuilder . build ( );
192
- mostAvailableSpaceUsages = mostAvailableUsagesBuilder . build ( );
191
+ leastAvailableSpaceUsages = Collections . unmodifiableMap ( leastAvailableUsagesBuilder );
192
+ mostAvailableSpaceUsages = Collections . unmodifiableMap ( mostAvailableUsagesBuilder );
193
193
}
194
194
195
195
@ Override
@@ -199,8 +199,8 @@ public void onFailure(Exception e) {
199
199
} else {
200
200
logger .warn ("failed to retrieve node stats" , e );
201
201
}
202
- leastAvailableSpaceUsages = ImmutableOpenMap .of ();
203
- mostAvailableSpaceUsages = ImmutableOpenMap .of ();
202
+ leastAvailableSpaceUsages = Map .of ();
203
+ mostAvailableSpaceUsages = Map .of ();
204
204
}
205
205
}, this ::onStatsProcessed ));
206
206
@@ -246,9 +246,9 @@ public void onResponse(IndicesStatsResponse indicesStatsResponse) {
246
246
}
247
247
248
248
final ShardStats [] stats = indicesStatsResponse .getShards ();
249
- final ImmutableOpenMap . Builder <String , Long > shardSizeByIdentifierBuilder = ImmutableOpenMap . builder ();
250
- final ImmutableOpenMap . Builder <ShardId , Long > shardDataSetSizeBuilder = ImmutableOpenMap . builder ();
251
- final ImmutableOpenMap . Builder <ShardRouting , String > dataPathByShardRoutingBuilder = ImmutableOpenMap . builder ();
249
+ final Map <String , Long > shardSizeByIdentifierBuilder = new HashMap <> ();
250
+ final Map <ShardId , Long > shardDataSetSizeBuilder = new HashMap <> ();
251
+ final Map <ShardRouting , String > dataPathByShardRoutingBuilder = new HashMap <> ();
252
252
final Map <ClusterInfo .NodeAndPath , ClusterInfo .ReservedSpace .Builder > reservedSpaceBuilders = new HashMap <>();
253
253
buildShardLevelInfo (
254
254
stats ,
@@ -258,15 +258,14 @@ public void onResponse(IndicesStatsResponse indicesStatsResponse) {
258
258
reservedSpaceBuilders
259
259
);
260
260
261
- final ImmutableOpenMap .Builder <ClusterInfo .NodeAndPath , ClusterInfo .ReservedSpace > rsrvdSpace = ImmutableOpenMap
262
- .builder ();
261
+ final Map <ClusterInfo .NodeAndPath , ClusterInfo .ReservedSpace > rsrvdSpace = new HashMap <>();
263
262
reservedSpaceBuilders .forEach ((nodeAndPath , builder ) -> rsrvdSpace .put (nodeAndPath , builder .build ()));
264
263
265
264
indicesStatsSummary = new IndicesStatsSummary (
266
- shardSizeByIdentifierBuilder . build ( ),
267
- shardDataSetSizeBuilder . build ( ),
268
- dataPathByShardRoutingBuilder . build ( ),
269
- rsrvdSpace . build ( )
265
+ Collections . unmodifiableMap ( shardSizeByIdentifierBuilder ),
266
+ Collections . unmodifiableMap ( shardDataSetSizeBuilder ),
267
+ Collections . unmodifiableMap ( dataPathByShardRoutingBuilder ),
268
+ Collections . unmodifiableMap ( rsrvdSpace )
270
269
);
271
270
}
272
271
@@ -342,8 +341,8 @@ private Runnable getNewRefresh() {
342
341
return currentRefresh ::execute ;
343
342
} else {
344
343
return () -> {
345
- leastAvailableSpaceUsages = ImmutableOpenMap .of ();
346
- mostAvailableSpaceUsages = ImmutableOpenMap .of ();
344
+ leastAvailableSpaceUsages = Map .of ();
345
+ mostAvailableSpaceUsages = Map .of ();
347
346
indicesStatsSummary = IndicesStatsSummary .EMPTY ;
348
347
thisRefreshListeners .forEach (l -> l .onResponse (ClusterInfo .EMPTY ));
349
348
};
@@ -413,9 +412,9 @@ public void addListener(Consumer<ClusterInfo> clusterInfoConsumer) {
413
412
414
413
static void buildShardLevelInfo (
415
414
ShardStats [] stats ,
416
- ImmutableOpenMap . Builder <String , Long > shardSizes ,
417
- ImmutableOpenMap . Builder <ShardId , Long > shardDataSetSizeBuilder ,
418
- ImmutableOpenMap . Builder <ShardRouting , String > newShardRoutingToDataPath ,
415
+ Map <String , Long > shardSizes ,
416
+ Map <ShardId , Long > shardDataSetSizeBuilder ,
417
+ Map <ShardRouting , String > newShardRoutingToDataPath ,
419
418
Map <ClusterInfo .NodeAndPath , ClusterInfo .ReservedSpace .Builder > reservedSpaceByShard
420
419
) {
421
420
for (ShardStats s : stats ) {
@@ -448,8 +447,8 @@ static void buildShardLevelInfo(
448
447
449
448
static void fillDiskUsagePerNode (
450
449
List <NodeStats > nodeStatsArray ,
451
- ImmutableOpenMap . Builder <String , DiskUsage > newLeastAvailableUsages ,
452
- ImmutableOpenMap . Builder <String , DiskUsage > newMostAvailableUsages
450
+ Map <String , DiskUsage > newLeastAvailableUsages ,
451
+ Map <String , DiskUsage > newMostAvailableUsages
453
452
) {
454
453
for (NodeStats nodeStats : nodeStatsArray ) {
455
454
if (nodeStats .getFs () == null ) {
@@ -534,18 +533,12 @@ static void fillDiskUsagePerNode(
534
533
}
535
534
536
535
private record IndicesStatsSummary (
537
- ImmutableOpenMap <String , Long > shardSizes ,
538
- ImmutableOpenMap <ShardId , Long > shardDataSetSizes ,
539
- ImmutableOpenMap <ShardRouting , String > shardRoutingToDataPath ,
540
- ImmutableOpenMap <ClusterInfo .NodeAndPath , ClusterInfo .ReservedSpace > reservedSpace
536
+ Map <String , Long > shardSizes ,
537
+ Map <ShardId , Long > shardDataSetSizes ,
538
+ Map <ShardRouting , String > shardRoutingToDataPath ,
539
+ Map <ClusterInfo .NodeAndPath , ClusterInfo .ReservedSpace > reservedSpace
541
540
) {
542
- static final IndicesStatsSummary EMPTY = new IndicesStatsSummary (
543
- ImmutableOpenMap .of (),
544
- ImmutableOpenMap .of (),
545
- ImmutableOpenMap .of (),
546
- ImmutableOpenMap .of ()
547
- );
548
-
541
+ static final IndicesStatsSummary EMPTY = new IndicesStatsSummary (Map .of (), Map .of (), Map .of (), Map .of ());
549
542
}
550
543
551
544
}
0 commit comments