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

(Updated Dec. 23, 2014, 3:52 a.m.)


Review request for Ambari, Alejandro Fernandez and Nate Cole.


Changes
-------

Update diff.


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


Repository: ambari


Description
-------

During RU, a failure occurred on "Client Components" group, "Service Check 
HBASE, MAPREDUCE2, HDFS, YARN" item.
The UI presented me with a Retry button.  However, the server rejected this 
request:

PUT /api/v1/clusters/ysru2/upgrades/5/upgrade_groups/4/upgrade_items/30
{"UpgradeItem":{"status":"PENDING"}}

{
  "status" : 400,
  "message" : "java.lang.IllegalArgumentException: Can not transition a stage 
from FAILED to PENDING"
}

I believe this is the current expected behavior since the failure is not marked 
to hold.  
However, on any service check failure, the user should be able to retry (or 
maybe on any failure?  actions should be idempotent).

----

Allow Retry - mark a stage (upgrade item) to allow any failed task to be 
retried. This means that if a failure occurs during the execution of the task 
then the stage & task will transition to HOLDING_FAILED. Once in the 
HOLDING_FAILED state, the stage can be pushed to PENDING (retry) or FAILED. 
Transitioning the stage to FAILED will cause the remaining tasks in that stage 
to be ABORTED. It never makes sense to allow the remaining tasks of a stage to 
continue executing after the stage has been accepted as FAILED. However, the 
remaining stages of the upgrade request may be allowed execute...

Skippable - mark a stage to allow it to be skipped in the event of a failure so 
that the remaining stages may still execute. This means that when a stage state 
is set to FAILED, it will not trigger the remaining stages of the request to 
abort.
By separating the concepts of retry and skippable, we can be more flexible in 
how we define the behavior of the upgrade. For example, the core masters 
upgrade item should be marked as allow_retry = true and skippable = false. If a 
failure occurs during this stage you should be able to retry. If the failure 
can not be resolved then the entire upgrade request should be aborted.


Diffs (updated)
-----

  
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/ActionScheduler.java
 ccecad9 
  
ambari-server/src/main/java/org/apache/ambari/server/actionmanager/HostRoleCommand.java
 f71e2d5 
  ambari-server/src/main/java/org/apache/ambari/server/actionmanager/Stage.java 
57fadf7 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariActionExecutionHelper.java
 17d5782 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariCustomCommandExecutionHelper.java
 c8ae61d 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/AmbariManagementControllerImpl.java
 19ee6d9 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelper.java
 562ce9e 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ClusterStackVersionResourceProvider.java
 9329ea9 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/HostStackVersionResourceProvider.java
 3b1b462 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/RequestResourceProvider.java
 3c4524a 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/StageResourceProvider.java
 c174a9c 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeGroupResourceProvider.java
 47f6237 
  
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
 efc3713 
  
ambari-server/src/main/java/org/apache/ambari/server/orm/entities/StageEntity.java
 a7bc948 
  
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java
 d59d8a1 
  ambari-server/src/main/java/org/apache/ambari/server/utils/StageUtils.java 
e6e51a1 
  ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql d6229b3 
  ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql cb8f776 
  ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql 4599390 
  ambari-server/src/main/resources/Ambari-DDL-Postgres-EMBEDDED-CREATE.sql 
1e6631e 
  ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql 8836f04 
  
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/ExecutionCommandWrapperTest.java
 948f137 
  
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionDBAccessorImpl.java
 7e4f850 
  
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionManager.java
 01a40f4 
  
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java
 edbb71d 
  
ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestStage.java
 bde19a1 
  
ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
 a6df0db 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/AmbariManagementControllerTest.java
 72a22e6 
  
ambari-server/src/test/java/org/apache/ambari/server/controller/internal/StageResourceProviderTest.java
 4c47e94 
  
ambari-server/src/test/java/org/apache/ambari/server/serveraction/ServerActionExecutorTest.java
 96c0539 
  
ambari-server/src/test/java/org/apache/ambari/server/stageplanner/TestStagePlanner.java
 dd2a519 
  
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java
 f8d061a 

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


Testing
-------

Results :

Tests run: 2447, Failures: 0, Errors: 0, Skipped: 13

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 27:49 min
[INFO] Finished at: 2014-12-21T23:52:28-05:00
[INFO] Final Memory: 42M/496M
[INFO] ------------------------------------------------------------------------


Thanks,

Tom Beerbower

Reply via email to