diff options
Diffstat (limited to 'core/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java')
-rw-r--r-- | core/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java b/core/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java index e0c9c9b8b6..3b8c751f93 100644 --- a/core/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java +++ b/core/src/main/java/org/elasticsearch/action/support/master/TransportMasterNodeAction.java @@ -113,6 +113,9 @@ public abstract class TransportMasterNodeAction<Request extends MasterNodeReques AsyncSingleAction(Task task, Request request, ActionListener<Response> listener) { this.task = task; this.request = request; + if (task != null) { + request.setParentTask(clusterService.localNode().getId(), task.getId()); + } // TODO do we really need to wrap it in a listener? the handlers should be cheap if ((listener instanceof ThreadedActionListener) == false) { listener = new ThreadedActionListener<>(logger, threadPool, ThreadPool.Names.LISTENER, listener); @@ -121,7 +124,7 @@ public abstract class TransportMasterNodeAction<Request extends MasterNodeReques } public void start() { - this.observer = new ClusterStateObserver(clusterService, request.masterNodeTimeout(), logger); + this.observer = new ClusterStateObserver(clusterService, request.masterNodeTimeout(), logger, threadPool.getThreadContext()); doStart(); } |