You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2013/03/14 17:53:33 UTC

svn commit: r1456533 - in /incubator/ambari/trunk: CHANGES.txt ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java

Author: swagle
Date: Thu Mar 14 16:53:33 2013
New Revision: 1456533

URL: http://svn.apache.org/r1456533
Log:
AMBARI-1628. Tasktracker remains in STARTING state preventing Ambari to display proper status. (Sumit Mohanty via swagle)

Modified:
    incubator/ambari/trunk/CHANGES.txt
    incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
    incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java

Modified: incubator/ambari/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/CHANGES.txt?rev=1456533&r1=1456532&r2=1456533&view=diff
==============================================================================
--- incubator/ambari/trunk/CHANGES.txt (original)
+++ incubator/ambari/trunk/CHANGES.txt Thu Mar 14 16:53:33 2013
@@ -1578,6 +1578,9 @@ AMBARI-666 branch:
 
   BUG FIXES
 
+  AMBARI-1628. Tasktracker remains in STARTING state preventing Ambari 
+  to display proper status. (Sumit Mohanty via swagle)
+
   AMBARI-1160. Cannot add a hostname that has a number next to . in it.
   (yusaku)
 

Modified: incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java?rev=1456533&r1=1456532&r2=1456533&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java (original)
+++ incubator/ambari/trunk/ambari-server/src/main/java/org/apache/ambari/server/agent/HeartBeatHandler.java Thu Mar 14 16:53:33 2013
@@ -236,17 +236,20 @@ public class HeartBeatHandler {
               State prevState = scHost.getState();
               State liveState = State.valueOf(State.class, status.getStatus());
               if (prevState.equals(State.INSTALLED)
-                      || prevState.equals(State.START_FAILED)
-                      || prevState.equals(State.STARTED)
-                      || prevState.equals(State.STOP_FAILED)) {
+                  || prevState.equals(State.START_FAILED)
+                  || prevState.equals(State.STARTED)
+                  || prevState.equals(State.STARTING)
+                  || prevState.equals(State.STOPPING)
+                  || prevState.equals(State.STOP_FAILED)) {
                 scHost.setState(liveState);
-                if (!prevState.equals(liveState) && scHost.getServiceComponentName().equals(Role.HBASE_MASTER.toString())) {
+                LOG.info("State of service component " + componentName
+                    + " of service " + status.getServiceName()
+                    + " of cluster " + status.getClusterName()
+                    + " has changed from " + prevState + " to " + liveState
+                    + " at host " + hostname);
+                if (!prevState.equals(liveState)
+                    && scHost.getServiceComponentName().equals(Role.HBASE_MASTER.toString())) {
                     scaner.updateHBaseMaster(scHost);
-                  LOG.info("State of service component " + componentName
-                          + " of service " + status.getServiceName()
-                          + " of cluster " + status.getClusterName()
-                          + " has changed from " + prevState + " to " + liveState
-                          + " at host " + hostname);
                 }
               }
 

Modified: incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java
URL: http://svn.apache.org/viewvc/incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java?rev=1456533&r1=1456532&r2=1456533&view=diff
==============================================================================
--- incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java (original)
+++ incubator/ambari/trunk/ambari-server/src/test/java/org/apache/ambari/server/agent/TestHeartbeatHandler.java Thu Mar 14 16:53:33 2013
@@ -198,9 +198,11 @@ public class TestHeartbeatHandler {
             getServiceComponent(DATANODE).getServiceComponentHost(DummyHostname1);
     ServiceComponentHost serviceComponentHost2 = clusters.getCluster(DummyCluster).getService(HDFS).
             getServiceComponent(NAMENODE).getServiceComponentHost(DummyHostname1);
+    ServiceComponentHost serviceComponentHost3 = clusters.getCluster(DummyCluster).getService(HDFS).
+        getServiceComponent(SECONDARY_NAMENODE).getServiceComponentHost(DummyHostname1);
     serviceComponentHost1.setState(State.INSTALLED);
     serviceComponentHost2.setState(State.INSTALLED);
-
+    serviceComponentHost3.setState(State.STARTING);
 
     HeartBeat hb = new HeartBeat();
     hb.setTimestamp(System.currentTimeMillis());
@@ -216,13 +218,22 @@ public class TestHeartbeatHandler {
     componentStatus1.setStatus(State.STARTED.name());
     componentStatus1.setComponentName(DATANODE);
     componentStatuses.add(componentStatus1);
+    ComponentStatus componentStatus2 = new ComponentStatus();
+    componentStatus2.setClusterName(DummyCluster);
+    componentStatus2.setServiceName(HDFS);
+    componentStatus2.setMessage(DummyHostStatus);
+    componentStatus2.setStatus(State.STARTED.name());
+    componentStatus2.setComponentName(SECONDARY_NAMENODE);
+    componentStatuses.add(componentStatus2);
     hb.setComponentStatus(componentStatuses);
 
     handler.handleHeartBeat(hb);
     State componentState1 = serviceComponentHost1.getState();
     State componentState2 = serviceComponentHost2.getState();
+    State componentState3 = serviceComponentHost3.getState();
     assertEquals(State.STARTED, componentState1);
     assertEquals(State.INSTALLED, componentState2);
+    assertEquals(State.STARTED, componentState3);
   }
 
   @Test