Skip to content

Commit 500a4f6

Browse files
authored
Make OpenIndexClusterStateUpdateRequest a record (#113351)
No need to extend `IndicesClusterStateUpdateRequest`, this thing can be completely immutable.
1 parent 96146cb commit 500a4f6

File tree

3 files changed

+39
-35
lines changed

3 files changed

+39
-35
lines changed

server/src/main/java/org/elasticsearch/action/admin/indices/open/OpenIndexClusterStateUpdateRequest.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,24 @@
99
package org.elasticsearch.action.admin.indices.open;
1010

1111
import org.elasticsearch.action.support.ActiveShardCount;
12-
import org.elasticsearch.cluster.ack.IndicesClusterStateUpdateRequest;
12+
import org.elasticsearch.core.TimeValue;
13+
import org.elasticsearch.index.Index;
14+
15+
import java.util.Objects;
1316

1417
/**
1518
* Cluster state update request that allows to open one or more indices
1619
*/
17-
public class OpenIndexClusterStateUpdateRequest extends IndicesClusterStateUpdateRequest<OpenIndexClusterStateUpdateRequest> {
18-
19-
private ActiveShardCount waitForActiveShards = ActiveShardCount.DEFAULT;
20-
21-
public OpenIndexClusterStateUpdateRequest() {
22-
23-
}
24-
25-
public ActiveShardCount waitForActiveShards() {
26-
return waitForActiveShards;
27-
}
28-
29-
public OpenIndexClusterStateUpdateRequest waitForActiveShards(ActiveShardCount waitForActiveShards) {
30-
this.waitForActiveShards = waitForActiveShards;
31-
return this;
20+
public record OpenIndexClusterStateUpdateRequest(
21+
TimeValue masterNodeTimeout,
22+
TimeValue ackTimeout,
23+
ActiveShardCount waitForActiveShards,
24+
Index[] indices
25+
) {
26+
public OpenIndexClusterStateUpdateRequest {
27+
Objects.requireNonNull(masterNodeTimeout);
28+
Objects.requireNonNull(ackTimeout);
29+
Objects.requireNonNull(waitForActiveShards);
30+
Objects.requireNonNull(indices);
3231
}
3332
}

server/src/main/java/org/elasticsearch/action/admin/indices/open/TransportOpenIndexAction.java

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -90,23 +90,26 @@ protected void masterOperation(
9090
listener.onResponse(new OpenIndexResponse(true, true));
9191
return;
9292
}
93-
OpenIndexClusterStateUpdateRequest updateRequest = new OpenIndexClusterStateUpdateRequest().ackTimeout(request.ackTimeout())
94-
.masterNodeTimeout(request.masterNodeTimeout())
95-
.indices(concreteIndices)
96-
.waitForActiveShards(request.waitForActiveShards());
9793

98-
indexStateService.openIndices(updateRequest, new ActionListener<>() {
94+
indexStateService.openIndices(
95+
new OpenIndexClusterStateUpdateRequest(
96+
request.masterNodeTimeout(),
97+
request.ackTimeout(),
98+
request.waitForActiveShards(),
99+
concreteIndices
100+
),
101+
new ActionListener<>() {
102+
@Override
103+
public void onResponse(ShardsAcknowledgedResponse response) {
104+
listener.onResponse(new OpenIndexResponse(response.isAcknowledged(), response.isShardsAcknowledged()));
105+
}
99106

100-
@Override
101-
public void onResponse(ShardsAcknowledgedResponse response) {
102-
listener.onResponse(new OpenIndexResponse(response.isAcknowledged(), response.isShardsAcknowledged()));
107+
@Override
108+
public void onFailure(Exception t) {
109+
logger.debug(() -> "failed to open indices [" + Arrays.toString(concreteIndices) + "]", t);
110+
listener.onFailure(t);
111+
}
103112
}
104-
105-
@Override
106-
public void onFailure(Exception t) {
107-
logger.debug(() -> "failed to open indices [" + Arrays.toString(concreteIndices) + "]", t);
108-
listener.onFailure(t);
109-
}
110-
});
113+
);
111114
}
112115
}

x-pack/plugin/frozen-indices/src/main/java/org/elasticsearch/xpack/frozen/action/TransportFreezeIndexAction.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,10 +150,12 @@ private void toggleFrozenSettings(
150150
submitUnbatchedTask(
151151
"toggle-frozen-settings",
152152
new AckedClusterStateUpdateTask(Priority.URGENT, request, listener.delegateFailure((delegate, acknowledgedResponse) -> {
153-
OpenIndexClusterStateUpdateRequest updateRequest = new OpenIndexClusterStateUpdateRequest().ackTimeout(request.ackTimeout())
154-
.masterNodeTimeout(request.masterNodeTimeout())
155-
.indices(concreteIndices)
156-
.waitForActiveShards(request.waitForActiveShards());
153+
OpenIndexClusterStateUpdateRequest updateRequest = new OpenIndexClusterStateUpdateRequest(
154+
request.masterNodeTimeout(),
155+
request.ackTimeout(),
156+
request.waitForActiveShards(),
157+
concreteIndices
158+
);
157159
indexStateService.openIndices(
158160
updateRequest,
159161
delegate.safeMap(

0 commit comments

Comments
 (0)