Sebastian Toader created AMBARI-16226:
-----------------------------------------

             Summary: Execute topology tasks in parallel by hosts.
                 Key: AMBARI-16226
                 URL: https://issues.apache.org/jira/browse/AMBARI-16226
             Project: Ambari
          Issue Type: Task
          Components: ambari-server
            Reporter: Sebastian Toader
             Fix For: 2.4.1


Currently a when a cluster is created using Blueprints 
PersistHostResourcesTask, RegisterWithConfigGroupTask, InstallHostTask and 
StartHostTask topology tasks are created for each host in this order. These 
tasks than are executed by a single threaded executor TopologyManager.executor 
as hosts are being assigned to the cluster.
Since TopologyManager is singleton this will leads to sequential execution of 
topology tasks on a single thread. The execution of the each individual 
topology tasks 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 not 
local but a remote one is used) than this latency builds up a considerable 
delay if there are many hosts to execute topology tasks for.
Executing the topology tasks in parallel will reduce the delay in this case.
Since topology tasks for a host must be executed in order only tasks that 
belong to different hosts. 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)

Reply via email to