diff --git a/app-packages/hbase/package/scripts/hbase_service.py b/app-packages/hbase/package/scripts/hbase_service.py
index 96add84..db663b8 100644
--- a/app-packages/hbase/package/scripts/hbase_service.py
+++ b/app-packages/hbase/package/scripts/hbase_service.py
@@ -34,7 +34,7 @@
     no_op_test = None
     
     if action == 'start':
-      daemon_cmd = format("{cmd} start {role}")
+      daemon_cmd = format("env HBASE_IDENT_STRING={hbase_user} {cmd} start {role}")
       if name == 'rest':
         daemon_cmd = format("{daemon_cmd} -p {rest_port}")
       elif name == 'thrift':
@@ -43,7 +43,7 @@
         daemon_cmd = format("{daemon_cmd} -p {thrift2_port}")
       no_op_test = format("ls {pid_file} >/dev/null 2>&1 && ps `cat {pid_file}` >/dev/null 2>&1")
     elif action == 'stop':
-      daemon_cmd = format("{cmd} stop {role} && rm -f {pid_file}")
+      daemon_cmd = format("env HBASE_IDENT_STRING={hbase_user} {cmd} stop {role} && rm -f {pid_file}")
 
     if daemon_cmd is not None:
       Execute ( daemon_cmd,
diff --git a/app-packages/hbase/resources-default.json b/app-packages/hbase/resources-default.json
index ff58989..b1da1f7 100644
--- a/app-packages/hbase/resources-default.json
+++ b/app-packages/hbase/resources-default.json
@@ -13,6 +13,7 @@
       "yarn.memory": "1500"
     },
     "slider-appmaster": {
+      "yarn.memory": "1024"
     },
     "HBASE_REGIONSERVER": {
       "yarn.role.priority": "2",
diff --git a/slider-core/src/main/java/org/apache/slider/common/tools/CoreFileSystem.java b/slider-core/src/main/java/org/apache/slider/common/tools/CoreFileSystem.java
index 7377dd3..fed0bc2 100644
--- a/slider-core/src/main/java/org/apache/slider/common/tools/CoreFileSystem.java
+++ b/slider-core/src/main/java/org/apache/slider/common/tools/CoreFileSystem.java
@@ -563,6 +563,7 @@
   public Map<String, Path> listPersistentInstances() throws IOException {
     FileSystem fs = getFileSystem();
     Path path = new Path(getBaseApplicationPath(), SliderKeys.CLUSTER_DIRECTORY);
+    log.debug("Looking for all persisted application at {}", path.toString());
     if (!fs.exists(path)) {
       // special case: no instances have ever been created
       return new HashMap<String, Path>(0);
@@ -579,6 +580,9 @@
         if (fs.exists(internalJson)) {
           // success => this is an instance
           instances.put(child.getName(), child);
+        } else {
+          log.info("Malformed cluster found at {}. It does not appear to be a valid persisted instance.",
+                   child.toString());
         }
       }
     }
