Skip to content

Commit 4e740c2

Browse files
Dry up AcknowledgedResponse Handling (#63335)
1. `AcknowledgedResponse` should really be two singletons to make things clearer and save some objects and code size. 2. We were duplicating reading this type over and over in a bunch of transport master node actions so I dried that up
1 parent 607bcdd commit 4e740c2

File tree

146 files changed

+337
-678
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+337
-678
lines changed

client/rest-high-level/src/test/java/org/elasticsearch/client/core/AcknowledgedResponseTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class AcknowledgedResponseTests extends AbstractResponseTestCase<org.elas
3232

3333
@Override
3434
protected org.elasticsearch.action.support.master.AcknowledgedResponse createServerTestInstance(XContentType xContentType) {
35-
return new org.elasticsearch.action.support.master.AcknowledgedResponse(randomBoolean());
35+
return org.elasticsearch.action.support.master.AcknowledgedResponse.of(randomBoolean());
3636
}
3737

3838
@Override

client/rest-high-level/src/test/java/org/elasticsearch/client/indices/CloseIndexResponseTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ protected void assertInstances(final org.elasticsearch.action.admin.indices.clos
172172
public final void testBwcFromXContent() throws IOException {
173173
{
174174
final boolean acknowledged = randomBoolean();
175-
final AcknowledgedResponse expected = new AcknowledgedResponse(acknowledged);
175+
final AcknowledgedResponse expected = AcknowledgedResponse.of(acknowledged);
176176

177177
final XContentType xContentType = randomFrom(XContentType.values());
178178
final BytesReference bytes = toShuffledXContent(expected, xContentType, getParams(), randomBoolean());

server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/delete/DeleteRepositoryAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class DeleteRepositoryAction extends ActionType<AcknowledgedResponse> {
3131
public static final String NAME = "cluster:admin/repository/delete";
3232

3333
private DeleteRepositoryAction() {
34-
super(NAME, AcknowledgedResponse::new);
34+
super(NAME, AcknowledgedResponse::readFrom);
3535
}
3636

3737
}

server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/delete/TransportDeleteRepositoryAction.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,22 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.master.AcknowledgedResponse;
25-
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
25+
import org.elasticsearch.action.support.master.AcknowledgedTransportMasterNodeAction;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.block.ClusterBlockException;
2828
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2929
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
3030
import org.elasticsearch.cluster.service.ClusterService;
3131
import org.elasticsearch.common.inject.Inject;
32-
import org.elasticsearch.common.io.stream.StreamInput;
3332
import org.elasticsearch.repositories.RepositoriesService;
3433
import org.elasticsearch.tasks.Task;
3534
import org.elasticsearch.threadpool.ThreadPool;
3635
import org.elasticsearch.transport.TransportService;
3736

38-
import java.io.IOException;
39-
4037
/**
4138
* Transport action for unregister repository operation
4239
*/
43-
public class TransportDeleteRepositoryAction extends TransportMasterNodeAction<DeleteRepositoryRequest, AcknowledgedResponse> {
40+
public class TransportDeleteRepositoryAction extends AcknowledgedTransportMasterNodeAction<DeleteRepositoryRequest> {
4441

4542
private final RepositoriesService repositoriesService;
4643

@@ -58,11 +55,6 @@ protected String executor() {
5855
return ThreadPool.Names.SAME;
5956
}
6057

61-
@Override
62-
protected AcknowledgedResponse read(StreamInput in) throws IOException {
63-
return new AcknowledgedResponse(in);
64-
}
65-
6658
@Override
6759
protected ClusterBlockException checkBlock(DeleteRepositoryRequest request, ClusterState state) {
6860
return state.blocks().globalBlockedException(ClusterBlockLevel.METADATA_WRITE);
@@ -74,6 +66,6 @@ protected void masterOperation(Task task, final DeleteRepositoryRequest request,
7466
repositoriesService.unregisterRepository(
7567
request, ActionListener.delegateFailure(listener,
7668
(delegatedListener, unregisterRepositoryResponse) ->
77-
delegatedListener.onResponse(new AcknowledgedResponse(unregisterRepositoryResponse.isAcknowledged()))));
69+
delegatedListener.onResponse(AcknowledgedResponse.of(unregisterRepositoryResponse.isAcknowledged()))));
7870
}
7971
}

server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/put/PutRepositoryAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class PutRepositoryAction extends ActionType<AcknowledgedResponse> {
3131
public static final String NAME = "cluster:admin/repository/put";
3232

3333
private PutRepositoryAction() {
34-
super(NAME, AcknowledgedResponse::new);
34+
super(NAME, AcknowledgedResponse::readFrom);
3535
}
3636

3737
}

server/src/main/java/org/elasticsearch/action/admin/cluster/repositories/put/TransportPutRepositoryAction.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,22 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.master.AcknowledgedResponse;
25-
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
25+
import org.elasticsearch.action.support.master.AcknowledgedTransportMasterNodeAction;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.block.ClusterBlockException;
2828
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2929
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
3030
import org.elasticsearch.cluster.service.ClusterService;
3131
import org.elasticsearch.common.inject.Inject;
32-
import org.elasticsearch.common.io.stream.StreamInput;
3332
import org.elasticsearch.repositories.RepositoriesService;
3433
import org.elasticsearch.tasks.Task;
3534
import org.elasticsearch.threadpool.ThreadPool;
3635
import org.elasticsearch.transport.TransportService;
3736

38-
import java.io.IOException;
39-
4037
/**
4138
* Transport action for register repository operation
4239
*/
43-
public class TransportPutRepositoryAction extends TransportMasterNodeAction<PutRepositoryRequest, AcknowledgedResponse> {
40+
public class TransportPutRepositoryAction extends AcknowledgedTransportMasterNodeAction<PutRepositoryRequest> {
4441

4542
private final RepositoriesService repositoriesService;
4643

@@ -58,11 +55,6 @@ protected String executor() {
5855
return ThreadPool.Names.SAME;
5956
}
6057

61-
@Override
62-
protected AcknowledgedResponse read(StreamInput in) throws IOException {
63-
return new AcknowledgedResponse(in);
64-
}
65-
6658
@Override
6759
protected ClusterBlockException checkBlock(PutRepositoryRequest request, ClusterState state) {
6860
return state.blocks().globalBlockedException(ClusterBlockLevel.METADATA_WRITE);
@@ -72,6 +64,6 @@ protected ClusterBlockException checkBlock(PutRepositoryRequest request, Cluster
7264
protected void masterOperation(Task task, final PutRepositoryRequest request, ClusterState state,
7365
final ActionListener<AcknowledgedResponse> listener) {
7466
repositoriesService.registerRepository(request, ActionListener.delegateFailure(listener,
75-
(delegatedListener, response) -> delegatedListener.onResponse(new AcknowledgedResponse(response.isAcknowledged()))));
67+
(delegatedListener, response) -> delegatedListener.onResponse(AcknowledgedResponse.of(response.isAcknowledged()))));
7668
}
7769
}

server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/clone/CloneSnapshotAction.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ public final class CloneSnapshotAction extends ActionType<AcknowledgedResponse>
2828
public static final String NAME = "cluster:admin/snapshot/clone";
2929

3030
private CloneSnapshotAction() {
31-
super(NAME, AcknowledgedResponse::new);
31+
super(NAME, AcknowledgedResponse::readFrom);
3232
}
33-
}
33+
}

server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/clone/TransportCloneSnapshotAction.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,22 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.master.AcknowledgedResponse;
25-
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
25+
import org.elasticsearch.action.support.master.AcknowledgedTransportMasterNodeAction;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.block.ClusterBlockException;
2828
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2929
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
3030
import org.elasticsearch.cluster.service.ClusterService;
3131
import org.elasticsearch.common.inject.Inject;
32-
import org.elasticsearch.common.io.stream.StreamInput;
3332
import org.elasticsearch.snapshots.SnapshotsService;
3433
import org.elasticsearch.tasks.Task;
3534
import org.elasticsearch.threadpool.ThreadPool;
3635
import org.elasticsearch.transport.TransportService;
3736

38-
import java.io.IOException;
39-
4037
/**
4138
* Transport action for the clone snapshot operation.
4239
*/
43-
public final class TransportCloneSnapshotAction extends TransportMasterNodeAction<CloneSnapshotRequest, AcknowledgedResponse> {
40+
public final class TransportCloneSnapshotAction extends AcknowledgedTransportMasterNodeAction<CloneSnapshotRequest> {
4441

4542
private final SnapshotsService snapshotsService;
4643

@@ -58,11 +55,6 @@ protected String executor() {
5855
return ThreadPool.Names.SAME;
5956
}
6057

61-
@Override
62-
protected AcknowledgedResponse read(StreamInput in) throws IOException {
63-
return new AcknowledgedResponse(in);
64-
}
65-
6658
@Override
6759
protected ClusterBlockException checkBlock(CloneSnapshotRequest request, ClusterState state) {
6860
// Cluster is not affected but we look up repositories in metadata
@@ -72,6 +64,6 @@ protected ClusterBlockException checkBlock(CloneSnapshotRequest request, Cluster
7264
@Override
7365
protected void masterOperation(Task task, final CloneSnapshotRequest request, ClusterState state,
7466
final ActionListener<AcknowledgedResponse> listener) {
75-
snapshotsService.cloneSnapshot(request, ActionListener.map(listener, v -> new AcknowledgedResponse(true)));
67+
snapshotsService.cloneSnapshot(request, ActionListener.map(listener, v -> AcknowledgedResponse.TRUE));
7668
}
7769
}

server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/delete/DeleteSnapshotAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class DeleteSnapshotAction extends ActionType<AcknowledgedResponse> {
3131
public static final String NAME = "cluster:admin/snapshot/delete";
3232

3333
private DeleteSnapshotAction() {
34-
super(NAME, AcknowledgedResponse::new);
34+
super(NAME, AcknowledgedResponse::readFrom);
3535
}
3636

3737
}

server/src/main/java/org/elasticsearch/action/admin/cluster/snapshots/delete/TransportDeleteSnapshotAction.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,22 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.master.AcknowledgedResponse;
25-
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
25+
import org.elasticsearch.action.support.master.AcknowledgedTransportMasterNodeAction;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.block.ClusterBlockException;
2828
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2929
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
3030
import org.elasticsearch.cluster.service.ClusterService;
3131
import org.elasticsearch.common.inject.Inject;
32-
import org.elasticsearch.common.io.stream.StreamInput;
3332
import org.elasticsearch.snapshots.SnapshotsService;
3433
import org.elasticsearch.tasks.Task;
3534
import org.elasticsearch.threadpool.ThreadPool;
3635
import org.elasticsearch.transport.TransportService;
3736

38-
import java.io.IOException;
39-
4037
/**
4138
* Transport action for delete snapshot operation
4239
*/
43-
public class TransportDeleteSnapshotAction extends TransportMasterNodeAction<DeleteSnapshotRequest, AcknowledgedResponse> {
40+
public class TransportDeleteSnapshotAction extends AcknowledgedTransportMasterNodeAction<DeleteSnapshotRequest> {
4441
private final SnapshotsService snapshotsService;
4542

4643
@Inject
@@ -57,11 +54,6 @@ protected String executor() {
5754
return ThreadPool.Names.SAME;
5855
}
5956

60-
@Override
61-
protected AcknowledgedResponse read(StreamInput in) throws IOException {
62-
return new AcknowledgedResponse(in);
63-
}
64-
6557
@Override
6658
protected ClusterBlockException checkBlock(DeleteSnapshotRequest request, ClusterState state) {
6759
// Cluster is not affected but we look up repositories in metadata
@@ -71,6 +63,6 @@ protected ClusterBlockException checkBlock(DeleteSnapshotRequest request, Cluste
7163
@Override
7264
protected void masterOperation(Task task, final DeleteSnapshotRequest request, ClusterState state,
7365
final ActionListener<AcknowledgedResponse> listener) {
74-
snapshotsService.deleteSnapshots(request, ActionListener.map(listener, v -> new AcknowledgedResponse(true)));
66+
snapshotsService.deleteSnapshots(request, ActionListener.map(listener, v -> AcknowledgedResponse.TRUE));
7567
}
7668
}

server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/DeleteStoredScriptAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class DeleteStoredScriptAction extends ActionType<AcknowledgedResponse> {
2828
public static final String NAME = "cluster:admin/script/delete";
2929

3030
private DeleteStoredScriptAction() {
31-
super(NAME, AcknowledgedResponse::new);
31+
super(NAME, AcknowledgedResponse::readFrom);
3232
}
3333

3434
}

server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/PutStoredScriptAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public class PutStoredScriptAction extends ActionType<AcknowledgedResponse> {
2929
public static final String NAME = "cluster:admin/script/put";
3030

3131
private PutStoredScriptAction() {
32-
super(NAME, AcknowledgedResponse::new);
32+
super(NAME, AcknowledgedResponse::readFrom);
3333
}
3434

3535
}

server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/TransportDeleteStoredScriptAction.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,19 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.master.AcknowledgedResponse;
25-
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
25+
import org.elasticsearch.action.support.master.AcknowledgedTransportMasterNodeAction;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.block.ClusterBlockException;
2828
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2929
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
3030
import org.elasticsearch.cluster.service.ClusterService;
3131
import org.elasticsearch.common.inject.Inject;
32-
import org.elasticsearch.common.io.stream.StreamInput;
3332
import org.elasticsearch.script.ScriptService;
3433
import org.elasticsearch.tasks.Task;
3534
import org.elasticsearch.threadpool.ThreadPool;
3635
import org.elasticsearch.transport.TransportService;
3736

38-
import java.io.IOException;
39-
40-
public class TransportDeleteStoredScriptAction extends TransportMasterNodeAction<DeleteStoredScriptRequest, AcknowledgedResponse> {
37+
public class TransportDeleteStoredScriptAction extends AcknowledgedTransportMasterNodeAction<DeleteStoredScriptRequest> {
4138

4239
private final ScriptService scriptService;
4340

@@ -55,11 +52,6 @@ protected String executor() {
5552
return ThreadPool.Names.SAME;
5653
}
5754

58-
@Override
59-
protected AcknowledgedResponse read(StreamInput in) throws IOException {
60-
return new AcknowledgedResponse(in);
61-
}
62-
6355
@Override
6456
protected void masterOperation(Task task, DeleteStoredScriptRequest request, ClusterState state,
6557
ActionListener<AcknowledgedResponse> listener) throws Exception {

server/src/main/java/org/elasticsearch/action/admin/cluster/storedscripts/TransportPutStoredScriptAction.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,20 @@
2222
import org.elasticsearch.action.ActionListener;
2323
import org.elasticsearch.action.support.ActionFilters;
2424
import org.elasticsearch.action.support.master.AcknowledgedResponse;
25-
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
25+
import org.elasticsearch.action.support.master.AcknowledgedTransportMasterNodeAction;
2626
import org.elasticsearch.cluster.ClusterState;
2727
import org.elasticsearch.cluster.block.ClusterBlockException;
2828
import org.elasticsearch.cluster.block.ClusterBlockLevel;
2929
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
3030
import org.elasticsearch.cluster.service.ClusterService;
3131
import org.elasticsearch.common.inject.Inject;
32-
import org.elasticsearch.common.io.stream.StreamInput;
3332
import org.elasticsearch.script.ScriptService;
3433
import org.elasticsearch.tasks.Task;
3534
import org.elasticsearch.threadpool.ThreadPool;
3635
import org.elasticsearch.transport.TransportService;
3736

38-
import java.io.IOException;
3937

40-
public class TransportPutStoredScriptAction extends TransportMasterNodeAction<PutStoredScriptRequest, AcknowledgedResponse> {
38+
public class TransportPutStoredScriptAction extends AcknowledgedTransportMasterNodeAction<PutStoredScriptRequest> {
4139

4240
private final ScriptService scriptService;
4341

@@ -55,11 +53,6 @@ protected String executor() {
5553
return ThreadPool.Names.SAME;
5654
}
5755

58-
@Override
59-
protected AcknowledgedResponse read(StreamInput in) throws IOException {
60-
return new AcknowledgedResponse(in);
61-
}
62-
6356
@Override
6457
protected void masterOperation(Task task, PutStoredScriptRequest request, ClusterState state,
6558
ActionListener<AcknowledgedResponse> listener) throws Exception {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class IndicesAliasesAction extends ActionType<AcknowledgedResponse> {
2828
public static final String NAME = "indices:admin/aliases";
2929

3030
private IndicesAliasesAction() {
31-
super(NAME, AcknowledgedResponse::new);
31+
super(NAME, AcknowledgedResponse::readFrom);
3232
}
3333

3434
}

0 commit comments

Comments
 (0)