Skip to content

Commit 18d4f68

Browse files
authored
Make IndicesAliasesClusterStateUpdateRequest a record (elastic#113281) (elastic#113363)
No need to extend `ClusterStateUpdateRequest` here.
1 parent b82afc1 commit 18d4f68

File tree

4 files changed

+21
-22
lines changed

4 files changed

+21
-22
lines changed

server/src/main/java/org/elasticsearch/action/admin/indices/alias/IndicesAliasesClusterStateUpdateRequest.java

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,25 @@
99
package org.elasticsearch.action.admin.indices.alias;
1010

1111
import org.elasticsearch.action.admin.indices.alias.IndicesAliasesResponse.AliasActionResult;
12-
import org.elasticsearch.cluster.ack.ClusterStateUpdateRequest;
1312
import org.elasticsearch.cluster.metadata.AliasAction;
13+
import org.elasticsearch.core.TimeValue;
1414

1515
import java.util.List;
16+
import java.util.Objects;
1617

1718
/**
1819
* Cluster state update request that allows to add or remove aliases
1920
*/
20-
public class IndicesAliasesClusterStateUpdateRequest extends ClusterStateUpdateRequest<IndicesAliasesClusterStateUpdateRequest> {
21-
private final List<AliasAction> actions;
22-
23-
private final List<IndicesAliasesResponse.AliasActionResult> actionResults;
24-
25-
public IndicesAliasesClusterStateUpdateRequest(List<AliasAction> actions, List<AliasActionResult> actionResults) {
26-
this.actions = actions;
27-
this.actionResults = actionResults;
28-
}
29-
30-
/**
31-
* Returns the alias actions to be performed
32-
*/
33-
public List<AliasAction> actions() {
34-
return actions;
35-
}
36-
37-
public List<AliasActionResult> getActionResults() {
38-
return actionResults;
21+
public record IndicesAliasesClusterStateUpdateRequest(
22+
TimeValue masterNodeTimeout,
23+
TimeValue ackTimeout,
24+
List<AliasAction> actions,
25+
List<AliasActionResult> actionResults
26+
) {
27+
public IndicesAliasesClusterStateUpdateRequest {
28+
Objects.requireNonNull(masterNodeTimeout);
29+
Objects.requireNonNull(ackTimeout);
30+
Objects.requireNonNull(actions);
31+
Objects.requireNonNull(actionResults);
3932
}
4033
}

server/src/main/java/org/elasticsearch/action/admin/indices/alias/TransportIndicesAliasesAction.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,11 @@ protected void masterOperation(
255255
}
256256
request.aliasActions().clear();
257257
IndicesAliasesClusterStateUpdateRequest updateRequest = new IndicesAliasesClusterStateUpdateRequest(
258+
request.masterNodeTimeout(),
259+
request.ackTimeout(),
258260
unmodifiableList(finalActions),
259261
unmodifiableList(actionResults)
260-
).ackTimeout(request.ackTimeout()).masterNodeTimeout(request.masterNodeTimeout());
262+
);
261263

262264
indexAliasesService.indicesAliases(updateRequest, listener.delegateResponse((l, e) -> {
263265
logger.debug("failed to perform aliases", e);

server/src/main/java/org/elasticsearch/cluster/metadata/MetadataIndexAliasesService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,7 @@ public boolean mustAck(DiscoveryNode discoveryNode) {
282282

283283
@Override
284284
public void onAllNodesAcked() {
285-
listener.onResponse(IndicesAliasesResponse.build(request.getActionResults()));
285+
listener.onResponse(IndicesAliasesResponse.build(request.actionResults()));
286286
}
287287

288288
@Override

server/src/test/java/org/elasticsearch/cluster/metadata/MetadataIndexAliasesServiceTests.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -693,10 +693,14 @@ public void testAddAndRemoveAliasClusterStateUpdate() throws Exception {
693693
String index = randomAlphaOfLength(5);
694694
ClusterState before = createIndex(ClusterState.builder(ClusterName.DEFAULT).build(), index);
695695
IndicesAliasesClusterStateUpdateRequest addAliasRequest = new IndicesAliasesClusterStateUpdateRequest(
696+
TEST_REQUEST_TIMEOUT,
697+
TEST_REQUEST_TIMEOUT,
696698
List.of(new AliasAction.Add(index, "test", null, null, null, null, null)),
697699
List.of(AliasActionResult.buildSuccess(List.of(index), AliasActions.add().aliases("test").indices(index)))
698700
);
699701
IndicesAliasesClusterStateUpdateRequest removeAliasRequest = new IndicesAliasesClusterStateUpdateRequest(
702+
TEST_REQUEST_TIMEOUT,
703+
TEST_REQUEST_TIMEOUT,
700704
List.of(new AliasAction.Remove(index, "test", true)),
701705
List.of(AliasActionResult.buildSuccess(List.of(index), AliasActions.remove().aliases("test").indices(index)))
702706
);

0 commit comments

Comments
 (0)