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)