AMBARI-13628. Express Upgrade: Downgrade failed with server side error 
(dgrinenko via dlysnichenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8a0fddcd
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8a0fddcd
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8a0fddcd

Branch: refs/heads/trunk
Commit: 8a0fddcd9e0a4e80e7425d23cfc3587481e322c6
Parents: 8c33381
Author: Lisnichenko Dmitro <[email protected]>
Authored: Thu Oct 29 21:41:10 2015 +0200
Committer: Lisnichenko Dmitro <[email protected]>
Committed: Thu Oct 29 21:42:39 2015 +0200

----------------------------------------------------------------------
 .../controller/internal/UpgradeResourceProvider.java  | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/8a0fddcd/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
index 9b6176c..59eaa10 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/UpgradeResourceProvider.java
@@ -681,9 +681,17 @@ public class UpgradeResourceProvider extends 
AbstractControllerResourceProvider
     // the version being upgraded or downgraded to (ie 2.2.1.0-1234)
     final String version = (String) requestMap.get(UPGRADE_VERSION);
 
-    MasterHostResolver resolver = direction.isUpgrade()
-        ? new MasterHostResolver(configHelper, cluster)
-        : new MasterHostResolver(configHelper, cluster, version);
+    MasterHostResolver resolver = null;
+    if (direction.isUpgrade()) {
+      resolver = new MasterHostResolver(configHelper, cluster);
+    } else {
+      if (upgradeType == UpgradeType.ROLLING) {
+        resolver = new MasterHostResolver(configHelper, cluster, version);
+      } else {
+        // due to EU stop components at the start of upgrade, components will 
never advertise their updated versions
+        resolver = new MasterHostResolver(configHelper, cluster);
+      }
+    }
 
     StackId sourceStackId = null;
     StackId targetStackId = null;

Reply via email to