Browse Source

AMBARI-21695. Problem in starting accumulo in upgraded cluster (IOP-HDP). Addendum. (swagle)

Siddharth Wagle 8 years ago
parent
commit
655c3c6aa1

+ 13 - 0
ambari-server/src/main/java/org/apache/ambari/server/events/listeners/upgrade/StackUpgradeFinishListener.java

@@ -23,6 +23,8 @@ import org.apache.ambari.server.EagerSingleton;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.events.StackUpgradeFinishEvent;
 import org.apache.ambari.server.events.publishers.VersionEventPublisher;
+import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
+import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
 import org.apache.ambari.server.state.Cluster;
 import org.apache.ambari.server.state.Service;
 import org.apache.ambari.server.state.ServiceComponent;
@@ -46,9 +48,13 @@ public class StackUpgradeFinishListener {
    * Logger.
    */
   private final static Logger LOG = LoggerFactory.getLogger(StackUpgradeFinishListener.class);
+
   @Inject
   Provider<AmbariMetaInfo> ambariMetaInfo;
 
+  @Inject
+  RoleCommandOrderProvider roleCommandOrderProvider;
+
   /**
    * Constructor.
    *
@@ -80,6 +86,13 @@ public class StackUpgradeFinishListener {
           }
         }
       }
+
+      // Clear the RoleCommandOrder cache on upgrade
+      if (roleCommandOrderProvider instanceof CachedRoleCommandOrderProvider) {
+        LOG.info("Clearing RCO cache");
+        CachedRoleCommandOrderProvider cachedRcoProvider = (CachedRoleCommandOrderProvider) roleCommandOrderProvider;
+        cachedRcoProvider.clearRoleCommandOrderCache();
+      }
     }
 
   }

+ 0 - 1
ambari-server/src/main/java/org/apache/ambari/server/metadata/CachedRoleCommandOrderProvider.java

@@ -18,7 +18,6 @@
 
 package org.apache.ambari.server.metadata;
 
-import java.util.HashMap;
 import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;

+ 0 - 13
ambari-server/src/main/java/org/apache/ambari/server/serveraction/upgrades/FinalizeUpgradeAction.java

@@ -35,7 +35,6 @@ import org.apache.ambari.server.agent.CommandReport;
 import org.apache.ambari.server.api.services.AmbariMetaInfo;
 import org.apache.ambari.server.events.StackUpgradeFinishEvent;
 import org.apache.ambari.server.events.publishers.VersionEventPublisher;
-import org.apache.ambari.server.metadata.CachedRoleCommandOrderProvider;
 import org.apache.ambari.server.metadata.RoleCommandOrderProvider;
 import org.apache.ambari.server.orm.dao.HostComponentStateDAO;
 import org.apache.ambari.server.orm.dao.HostVersionDAO;
@@ -202,12 +201,6 @@ public class FinalizeUpgradeAction extends AbstractUpgradeServerAction {
       // Reset upgrade state
       cluster.setUpgradeEntity(null);
 
-      // Clear any cached RCO data after version upgrade
-      if (roleCommandOrderProvider instanceof CachedRoleCommandOrderProvider) {
-        CachedRoleCommandOrderProvider cachedRcoProvider = (CachedRoleCommandOrderProvider) roleCommandOrderProvider;
-        cachedRcoProvider.clearRoleCommandOrderCache();
-      }
-
       // the upgrade is done!
       versionEventPublisher.publish(new StackUpgradeFinishEvent(cluster));
 
@@ -330,12 +323,6 @@ public class FinalizeUpgradeAction extends AbstractUpgradeServerAction {
       // Reset upgrade state
       cluster.setUpgradeEntity(null);
 
-      // Clear any cached RCO data after version upgrade
-      if (roleCommandOrderProvider instanceof CachedRoleCommandOrderProvider) {
-        CachedRoleCommandOrderProvider cachedRcoProvider = (CachedRoleCommandOrderProvider) roleCommandOrderProvider;
-        cachedRcoProvider.clearRoleCommandOrderCache();
-      }
-
       message = String.format("The downgrade from %s has completed.", downgradeFromVersion);
       outSB.append(message).append(System.lineSeparator());