You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Doroszlai, Attila (JIRA)" <ji...@apache.org> on 2016/10/11 14:01:20 UTC
[jira] [Created] (AMBARI-18569) Execute topology tasks in parallel
by hosts
Doroszlai, Attila created AMBARI-18569:
------------------------------------------
Summary: Execute topology tasks in parallel by hosts
Key: AMBARI-18569
URL: https://issues.apache.org/jira/browse/AMBARI-18569
Project: Ambari
Issue Type: Task
Components: ambari-server
Affects Versions: 2.4.0
Reporter: Doroszlai, Attila
Assignee: Doroszlai, Attila
Fix For: 3.0.0, 2.5.0
Currently when a cluster is created using Blueprints, {{PersistHostResourcesTask}}, {{RegisterWithConfigGroupTask}}, {{InstallHostTask}} and {{StartHostTask}} topology tasks are created in this order for each host. These tasks are then executed by a single-threaded executor {{TopologyManager.executor}} as hosts are being assigned to the cluster.
Since {{TopologyManager}} is singleton, this leads to sequential execution of topology tasks on a single thread. The execution of the each individual topology task involves db operations under the hood. If for any reason there is some latency introduced by the db operations (e.g. the db server is remote instead of local) than this latency builds up a considerable delay if there are many hosts to execute topology tasks for. Executing the topology tasks in parallel would reduce the delay in this case.
Topology tasks for a host must be executed in order, but tasks that belong to different hosts can be executed concurrently. E.g. the {{PersistHostResourcesTask}}, {{RegisterWithConfigGroupTask}}, {{InstallHostTask}} and {{StartHostTask}} topology tasks would be executed sequentially by one thread for host1 and by another thread for host2.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)