AMBARI-49. Minor bug fix for controller UI. (Eric Yang)


git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/branches/branch-0.0@1184759 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/controller/src/main/java/org/apache/hms/controller/CommandHandler.java b/controller/src/main/java/org/apache/hms/controller/CommandHandler.java
index fbebd66..33ea1bd 100755
--- a/controller/src/main/java/org/apache/hms/controller/CommandHandler.java
+++ b/controller/src/main/java/org/apache/hms/controller/CommandHandler.java
@@ -18,10 +18,8 @@
 
 package org.apache.hms.controller;
 
-import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -35,17 +33,14 @@
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.hms.controller.Controller;
 import org.apache.hms.common.conf.CommonConfigurationKeys;
 import org.apache.hms.common.entity.Status;
 import org.apache.hms.common.entity.action.Action;
 import org.apache.hms.common.entity.action.ActionDependency;
 import org.apache.hms.common.entity.action.ActionStatus;
 import org.apache.hms.common.entity.action.PackageAction;
-import org.apache.hms.common.entity.action.ScriptAction;
 import org.apache.hms.common.entity.cluster.MachineState;
 import org.apache.hms.common.entity.cluster.MachineState.StateEntry;
-import org.apache.hms.common.entity.cluster.MachineState.StateType;
 import org.apache.hms.common.entity.command.ClusterCommand;
 import org.apache.hms.common.entity.command.Command;
 import org.apache.hms.common.entity.command.CommandStatus;
@@ -54,18 +49,15 @@
 import org.apache.hms.common.entity.command.UpgradeClusterCommand;
 import org.apache.hms.common.entity.command.CommandStatus.ActionEntry;
 import org.apache.hms.common.entity.command.CommandStatus.HostStatusPair;
-import org.apache.hms.common.entity.command.CreateCommand;
 import org.apache.hms.common.entity.command.DeleteCommand;
 import org.apache.hms.common.entity.manifest.ClusterHistory;
 import org.apache.hms.common.entity.manifest.ClusterManifest;
 import org.apache.hms.common.entity.manifest.ConfigManifest;
-import org.apache.hms.common.entity.manifest.Node;
 import org.apache.hms.common.entity.manifest.NodesManifest;
 import org.apache.hms.common.entity.manifest.PackageInfo;
 import org.apache.hms.common.entity.manifest.Role;
 import org.apache.hms.common.entity.manifest.SoftwareManifest;
 import org.apache.hms.common.util.ExceptionUtil;
-import org.apache.hms.common.util.FileUtil;
 import org.apache.hms.common.util.JAXBUtil;
 import org.apache.hms.common.util.ZookeeperUtil;
 import org.apache.zookeeper.AsyncCallback.Children2Callback;
@@ -75,13 +67,13 @@
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;
 import org.apache.zookeeper.ZooKeeper;
-import org.apache.zookeeper.Watcher.Event;
 import org.apache.zookeeper.ZooDefs.Ids;
 import org.apache.zookeeper.data.Stat;
 
 
 public class CommandHandler implements Children2Callback, VoidCallback, Watcher {
   private static Log LOG = LogFactory.getLog(CommandHandler.class);
+  private static long SEVEN_DAYS = 1000L*60*1440*7;
   private static String AGENT_ACTION = "/action";
   private static String AGENT_STATUS = "/status";
   private static String AGENT_WORKLOG = "/worklog";
@@ -191,6 +183,12 @@
         CommandStatus status = JAXBUtil.read(test, CommandStatus.class);
         if(status.getStatus()==Status.SUCCEEDED || status.getStatus()==Status.FAILED) {
           workOnIt=false;
+          // Delete command, if it has been completed and older than
+          // 7 days
+          if(System.currentTimeMillis()>stat.getMtime()+(SEVEN_DAYS)) {
+            LOG.info("Clean up deployment history: "+taskPath);
+            deleteIfExists(taskPath);
+          }
         }
       }
       if(workOnIt) {
diff --git a/controller/src/main/java/org/apache/hms/controller/Controller.java b/controller/src/main/java/org/apache/hms/controller/Controller.java
index 8fa5efe..e459a2a 100755
--- a/controller/src/main/java/org/apache/hms/controller/Controller.java
+++ b/controller/src/main/java/org/apache/hms/controller/Controller.java
@@ -203,7 +203,7 @@
       initializeZooKeeper();
       LOG.info("Connected to ZooKeeper");
       clientHandler = new ClientHandler(zk);
-      commandHandler = new CommandHandler(zk, 5);
+      commandHandler = new CommandHandler(zk, 200);
       commandHandler.start();
     } catch (Exception e) {
       LOG.error(ExceptionUtil.getStackTrace(e));
diff --git a/controller/src/main/webapps/delete-cluster.html b/controller/src/main/webapps/delete-cluster.html
index 39f580b..593b0e9 100644
--- a/controller/src/main/webapps/delete-cluster.html
+++ b/controller/src/main/webapps/delete-cluster.html
@@ -66,7 +66,7 @@
     var buffer = [];
     var i = 0;
     buffer[i++] = role['name'];
-    buffer[i++] = role['host'].join();
+    buffer[i++] = role['host'].join(" ");
     return buffer;
   }
 
diff --git a/controller/src/main/webapps/status-nodes.html b/controller/src/main/webapps/status-nodes.html
index ef00f16..15ca7ea 100644
--- a/controller/src/main/webapps/status-nodes.html
+++ b/controller/src/main/webapps/status-nodes.html
@@ -116,7 +116,10 @@
         });
         jQuery.getJSON(url,
           function(data) {
+            var i = 0;
+            roles = [];
             for(var list in data["roles"]) {
+              roles[i++] = data["roles"][list]["@name"]
               $('#form').dataTable().fnAddData(addRole(data["roles"][list]["@name"], data["roles"][list]["host"]));
             }
           }