Browse Source

Pass the task to broadcast actions (#29672)

Since the task is required as per line 292, give the opportunity to broadcast actions to handle tasks.
Stéphane Campinas 7 years ago
parent
commit
39623402fc

+ 1 - 1
server/src/main/java/org/elasticsearch/action/admin/indices/validate/query/TransportValidateQueryAction.java

@@ -184,7 +184,7 @@ public class TransportValidateQueryAction extends TransportBroadcastAction<Valid
     }
 
     @Override
-    protected ShardValidateQueryResponse shardOperation(ShardValidateQueryRequest request) throws IOException {
+    protected ShardValidateQueryResponse shardOperation(ShardValidateQueryRequest request, Task task) throws IOException {
         boolean valid;
         String explanation = null;
         String error = null;

+ 2 - 6
server/src/main/java/org/elasticsearch/action/support/broadcast/TransportBroadcastAction.java

@@ -84,11 +84,7 @@ public abstract class TransportBroadcastAction<Request extends BroadcastRequest<
 
     protected abstract ShardResponse newShardResponse();
 
-    protected abstract ShardResponse shardOperation(ShardRequest request) throws IOException;
-
-    protected ShardResponse shardOperation(ShardRequest request, Task task) throws IOException {
-        return shardOperation(request);
-    }
+    protected abstract ShardResponse shardOperation(ShardRequest request, Task task) throws IOException;
 
     /**
      * Determines the shards this operation will be executed on. The operation is executed once per shard iterator, typically
@@ -284,7 +280,7 @@ public abstract class TransportBroadcastAction<Request extends BroadcastRequest<
 
         @Override
         public void messageReceived(ShardRequest request, TransportChannel channel, Task task) throws Exception {
-            channel.sendResponse(shardOperation(request));
+            channel.sendResponse(shardOperation(request, task));
         }
 
         @Override