@@ -193,12 +193,12 @@ private static Map<String, Set<String>> getClusterFeatures(ClusterState clusterS
193193 }
194194
195195 private ClusterStateResponse buildResponse (final ClusterStateRequest request , final ClusterState rawState ) {
196- final ClusterState currentState = filterClusterState (rawState );
196+ final ClusterState filteredState = filterClusterState (rawState );
197197
198198 ThreadPool .assertCurrentThreadPool (ThreadPool .Names .MANAGEMENT ); // too heavy to construct & serialize cluster state without forking
199199
200200 if (request .blocks () == false ) {
201- final var blockException = currentState .blocks ().globalBlockedException (ClusterBlockLevel .METADATA_READ );
201+ final var blockException = filteredState .blocks ().globalBlockedException (ClusterBlockLevel .METADATA_READ );
202202 if (blockException != null ) {
203203 // There's a METADATA_READ block in place, but we aren't returning it to the caller, and yet the caller needs to know that
204204 // this block exists (e.g. it's the STATE_NOT_RECOVERED_BLOCK, so the rest of the state is known to be incomplete). Thus we
@@ -207,22 +207,22 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
207207 }
208208 }
209209
210- logger .trace ("Serving cluster state request using version {}" , currentState .version ());
211- ClusterState .Builder builder = ClusterState .builder (currentState .getClusterName ());
212- builder .version (currentState .version ());
213- builder .stateUUID (currentState .stateUUID ());
210+ logger .trace ("Serving cluster state request using version {}" , filteredState .version ());
211+ ClusterState .Builder builder = ClusterState .builder (filteredState .getClusterName ());
212+ builder .version (filteredState .version ());
213+ builder .stateUUID (filteredState .stateUUID ());
214214
215215 if (request .nodes ()) {
216- builder .nodes (currentState .nodes ());
217- builder .nodeIdsToCompatibilityVersions (getCompatibilityVersions (currentState ));
218- builder .nodeFeatures (getClusterFeatures (currentState ));
216+ builder .nodes (filteredState .nodes ());
217+ builder .nodeIdsToCompatibilityVersions (getCompatibilityVersions (filteredState ));
218+ builder .nodeFeatures (getClusterFeatures (filteredState ));
219219 }
220220 if (request .routingTable ()) {
221221 if (request .indices ().length > 0 ) {
222- final GlobalRoutingTable .Builder globalRoutingTableBuilder = GlobalRoutingTable .builder (currentState .globalRoutingTable ())
222+ final GlobalRoutingTable .Builder globalRoutingTableBuilder = GlobalRoutingTable .builder (filteredState .globalRoutingTable ())
223223 .clear ();
224- for (ProjectMetadata project : currentState .metadata ().projects ().values ()) {
225- RoutingTable projectRouting = currentState .routingTable (project .id ());
224+ for (ProjectMetadata project : filteredState .metadata ().projects ().values ()) {
225+ RoutingTable projectRouting = filteredState .routingTable (project .id ());
226226 RoutingTable .Builder routingTableBuilder = RoutingTable .builder ();
227227 String [] indices = indexNameExpressionResolver .concreteIndexNames (project , request );
228228 for (String filteredIndex : indices ) {
@@ -234,18 +234,18 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
234234 }
235235 builder .routingTable (globalRoutingTableBuilder .build ());
236236 } else {
237- builder .routingTable (currentState .globalRoutingTable ());
237+ builder .routingTable (filteredState .globalRoutingTable ());
238238 }
239239 } else {
240240 builder .routingTable (GlobalRoutingTable .builder ().build ());
241241 }
242242 if (request .blocks ()) {
243- builder .blocks (currentState .blocks ());
243+ builder .blocks (filteredState .blocks ());
244244 }
245245
246246 Metadata .Builder mdBuilder = Metadata .builder ();
247- mdBuilder .clusterUUID (currentState .metadata ().clusterUUID ());
248- mdBuilder .coordinationMetadata (currentState .coordinationMetadata ());
247+ mdBuilder .clusterUUID (filteredState .metadata ().clusterUUID ());
248+ mdBuilder .coordinationMetadata (filteredState .coordinationMetadata ());
249249
250250 if (request .metadata ()) {
251251 // filter out metadata that shouldn't be returned by the API
@@ -254,20 +254,20 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
254254 if (request .indices ().length > 0 ) {
255255 // if the request specified index names, then we don't want the whole metadata, just the version and projects (which will
256256 // be filtered (below) to only include the relevant indices)
257- mdBuilder .version (currentState .metadata ().version ());
257+ mdBuilder .version (filteredState .metadata ().version ());
258258 } else {
259259 // If there are no requested indices, then we want all the metadata, except for customs that aren't exposed via the API
260- mdBuilder = Metadata .builder (currentState .metadata ());
260+ mdBuilder = Metadata .builder (filteredState .metadata ());
261261 mdBuilder .removeCustomIf (notApi );
262262
263263 if (request .multiproject () == false ) {
264- ProjectStateRegistry projectStateRegistry = ProjectStateRegistry .get (currentState );
264+ ProjectStateRegistry projectStateRegistry = ProjectStateRegistry .get (filteredState );
265265 if (projectStateRegistry .size () > 1 ) {
266266 throw new Metadata .MultiProjectPendingException (
267267 "There are multiple projects " + projectStateRegistry .knownProjects ()
268268 );
269269 }
270- var reservedStateMetadata = new HashMap <>(currentState .metadata ().reservedStateMetadata ());
270+ var reservedStateMetadata = new HashMap <>(filteredState .metadata ().reservedStateMetadata ());
271271 var singleProjectReservedStateMetadata = projectStateRegistry .reservedStateMetadata (projectResolver .getProjectId ());
272272 singleProjectReservedStateMetadata .forEach (
273273 (key , value ) -> reservedStateMetadata .merge (key , value , this ::mergeReservedStateMetadata )
@@ -277,7 +277,7 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
277277 }
278278 }
279279
280- for (ProjectMetadata project : currentState .metadata ().projects ().values ()) {
280+ for (ProjectMetadata project : filteredState .metadata ().projects ().values ()) {
281281 ProjectMetadata .Builder pBuilder ;
282282 if (request .indices ().length > 0 ) {
283283 // if the request specified index names, then only include the project-id and indices
@@ -309,7 +309,7 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
309309 mdBuilder .put (pBuilder );
310310 }
311311 } else {
312- for (ProjectId project : currentState .metadata ().projects ().keySet ()) {
312+ for (ProjectId project : filteredState .metadata ().projects ().keySet ()) {
313313 // Request doesn't want to retrieve metadata, so we just fill in empty projects
314314 // (because we can't have a truly empty Metadata)
315315 mdBuilder .put (ProjectMetadata .builder (project ));
@@ -318,14 +318,14 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
318318 builder .metadata (mdBuilder );
319319
320320 if (request .customs ()) {
321- for (Map .Entry <String , ClusterState .Custom > custom : currentState .customs ().entrySet ()) {
321+ for (Map .Entry <String , ClusterState .Custom > custom : filteredState .customs ().entrySet ()) {
322322 if (custom .getValue ().isPrivate () == false ) {
323323 builder .putCustom (custom .getKey (), custom .getValue ());
324324 }
325325 }
326326 }
327327
328- return new ClusterStateResponse (currentState .getClusterName (), builder .build (), false );
328+ return new ClusterStateResponse (filteredState .getClusterName (), builder .build (), false );
329329 }
330330
331331 private ReservedStateMetadata mergeReservedStateMetadata (ReservedStateMetadata metadata1 , ReservedStateMetadata metadata2 ) {
0 commit comments