-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/39637/
-----------------------------------------------------------

(Updated Oct. 28, 2015, 10:33 a.m.)


Review request for Ambari, Jonathan Hurley, Nate Cole, Robert Nettleton, and 
Sandor Magyari.


Changes
-------

Updated `filterParallelPerHostStages` to fix race contion where if multiple 
reqeusts are in progress, stages in later requests may execute before stages in 
earlier requests even if there is an intersection on hosts.  This occurred 
because multiple stage from each request were added to the filtered list, 
skipping stages if intersections occured on hosts within the same request.  The 
skipped stages may have additional hosts that were not factored in when appling 
rules to stages in later requests. Therefore it was possible for a START 
command to be executed from a laster request when the INSTALL command from the 
earilier request was not yet executed. This could happen if server-side actions 
needed to occur between INIT and INSTALL stages from the earlier request.


Bugs: AMBARI-13550
    https://issues.apache.org/jira/browse/AMBARI-13550


Repository: ambari


Description
-------

org.apache.ambari.server.actionmanager.ActionScheduler#filterParallelPerHostStages
 should not filter out stages that contain server-side actions (to be executed 
on the Ambari server host). This is because tasks in these stages are typically 
required to complete before other stages on other hosts are executed. 

For example while enabling Kerberos for an added service, principals and keytab 
files need to be created before the stage to distribute the key tab files. The 
principal and keytab file creation happens on the Ambari server (as server-side 
actions) and the distribution tasks happen on the relevant hosts. If the 
server-side stages are filtered out (in the event multiple stages are pending 
for the Ambari server host), then one or more might be skipped and the 
distribution task is queued.  In this scenario, the distribution stage will 
fail since the required keytab files will not have been created.


Diffs (updated)
-----

  
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java
 3f289b2 
  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java 
8b2703c 
  
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java
 f8f9ce9 

Diff: https://reviews.apache.org/r/39637/diff/


Testing
-------

Manually tested in cluster... testing kerberizing and rolling upgrades.

#Jenkins test results: PENDING


Thanks,

Robert Levas

Reply via email to