Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,25 @@
package org.elasticsearch.action.admin.indices.alias;

import org.elasticsearch.action.admin.indices.alias.IndicesAliasesResponse.AliasActionResult;
import org.elasticsearch.cluster.ack.ClusterStateUpdateRequest;
import org.elasticsearch.cluster.metadata.AliasAction;
import org.elasticsearch.core.TimeValue;

import java.util.List;
import java.util.Objects;

/**
* Cluster state update request that allows to add or remove aliases
*/
public class IndicesAliasesClusterStateUpdateRequest extends ClusterStateUpdateRequest<IndicesAliasesClusterStateUpdateRequest> {
private final List<AliasAction> actions;

private final List<IndicesAliasesResponse.AliasActionResult> actionResults;

public IndicesAliasesClusterStateUpdateRequest(List<AliasAction> actions, List<AliasActionResult> actionResults) {
this.actions = actions;
this.actionResults = actionResults;
}

/**
* Returns the alias actions to be performed
*/
public List<AliasAction> actions() {
return actions;
}

public List<AliasActionResult> getActionResults() {
return actionResults;
public record IndicesAliasesClusterStateUpdateRequest(
TimeValue masterNodeTimeout,
TimeValue ackTimeout,
List<AliasAction> actions,
List<AliasActionResult> actionResults
) {
public IndicesAliasesClusterStateUpdateRequest {
Objects.requireNonNull(masterNodeTimeout);
Objects.requireNonNull(ackTimeout);
Objects.requireNonNull(actions);
Objects.requireNonNull(actionResults);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -255,9 +255,11 @@ protected void masterOperation(
}
request.aliasActions().clear();
IndicesAliasesClusterStateUpdateRequest updateRequest = new IndicesAliasesClusterStateUpdateRequest(
request.masterNodeTimeout(),
request.ackTimeout(),
unmodifiableList(finalActions),
unmodifiableList(actionResults)
).ackTimeout(request.ackTimeout()).masterNodeTimeout(request.masterNodeTimeout());
);

indexAliasesService.indicesAliases(updateRequest, listener.delegateResponse((l, e) -> {
logger.debug("failed to perform aliases", e);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ public boolean mustAck(DiscoveryNode discoveryNode) {

@Override
public void onAllNodesAcked() {
listener.onResponse(IndicesAliasesResponse.build(request.getActionResults()));
listener.onResponse(IndicesAliasesResponse.build(request.actionResults()));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -693,10 +693,14 @@ public void testAddAndRemoveAliasClusterStateUpdate() throws Exception {
String index = randomAlphaOfLength(5);
ClusterState before = createIndex(ClusterState.builder(ClusterName.DEFAULT).build(), index);
IndicesAliasesClusterStateUpdateRequest addAliasRequest = new IndicesAliasesClusterStateUpdateRequest(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT,
List.of(new AliasAction.Add(index, "test", null, null, null, null, null)),
List.of(AliasActionResult.buildSuccess(List.of(index), AliasActions.add().aliases("test").indices(index)))
);
IndicesAliasesClusterStateUpdateRequest removeAliasRequest = new IndicesAliasesClusterStateUpdateRequest(
TEST_REQUEST_TIMEOUT,
TEST_REQUEST_TIMEOUT,
List.of(new AliasAction.Remove(index, "test", true)),
List.of(AliasActionResult.buildSuccess(List.of(index), AliasActions.remove().aliases("test").indices(index)))
);
Expand Down