Skip to content

Commit f71ed27

Browse files
Address review comments
1 parent 54a824d commit f71ed27

File tree

1 file changed

+17
-14
lines changed

1 file changed

+17
-14
lines changed

server/src/main/java/org/elasticsearch/action/admin/cluster/state/TransportClusterStateAction.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
260260
mdBuilder = Metadata.builder(filteredState.metadata());
261261
mdBuilder.removeCustomIf(notApi);
262262

263-
if (request.multiproject() == false) {
263+
if (projectResolver.supportsMultipleProjects() && request.multiproject() == false) {
264264
ProjectStateRegistry projectStateRegistry = ProjectStateRegistry.get(filteredState);
265265
if (projectStateRegistry.size() > 1) {
266266
throw new Metadata.MultiProjectPendingException(
@@ -328,28 +328,31 @@ private ClusterStateResponse buildResponse(final ClusterStateRequest request, fi
328328
return new ClusterStateResponse(filteredState.getClusterName(), builder.build(), false);
329329
}
330330

331-
private ReservedStateMetadata mergeReservedStateMetadata(ReservedStateMetadata metadata1, ReservedStateMetadata metadata2) {
332-
if (Objects.equals(metadata1.version(), metadata2.version()) == false) {
331+
private ReservedStateMetadata mergeReservedStateMetadata(ReservedStateMetadata clusterReservedMetadata,
332+
ReservedStateMetadata projectReservedMetadata) {
333+
if (Objects.equals(clusterReservedMetadata.version(), projectReservedMetadata.version()) == false) {
333334
logger.warn(
334335
"Reserved state metadata version is different for Metadata ({}) and the only project ({})",
335-
metadata2.version(),
336-
metadata1.version()
336+
clusterReservedMetadata.version(),
337+
projectReservedMetadata.version()
337338
);
338339
}
339-
ReservedStateMetadata.Builder builder = ReservedStateMetadata.builder(metadata1.namespace())
340-
.version(Math.max(metadata1.version(), metadata2.version()));
340+
ReservedStateMetadata.Builder builder = ReservedStateMetadata.builder(clusterReservedMetadata.namespace())
341+
.version(Math.max(clusterReservedMetadata.version(), projectReservedMetadata.version()));
341342

342-
for (ReservedStateHandlerMetadata handler : metadata1.handlers().values()) {
343+
for (ReservedStateHandlerMetadata handler : clusterReservedMetadata.handlers().values()) {
343344
builder.putHandler(handler);
344345
}
345-
for (ReservedStateHandlerMetadata handler : metadata2.handlers().values()) {
346-
builder.putHandler(handler);
346+
for (Map.Entry<String, ReservedStateHandlerMetadata> handlerEntry : projectReservedMetadata.handlers().entrySet()) {
347+
assert clusterReservedMetadata.handlers().containsKey(handlerEntry.getKey()) == false
348+
: "Duplicate of handler: " + handlerEntry.getKey();
349+
builder.putHandler(handlerEntry.getValue());
347350
}
348351

349-
if (metadata2.errorMetadata() != null) {
350-
builder.errorMetadata(metadata2.errorMetadata());
351-
} else if (metadata1.errorMetadata() != null) {
352-
builder.errorMetadata(metadata1.errorMetadata());
352+
if (projectReservedMetadata.errorMetadata() != null) {
353+
builder.errorMetadata(projectReservedMetadata.errorMetadata());
354+
} else if (clusterReservedMetadata.errorMetadata() != null) {
355+
builder.errorMetadata(clusterReservedMetadata.errorMetadata());
353356
}
354357

355358
return builder.build();

0 commit comments

Comments
 (0)