diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/sorter/StreamWindowBenchmarkTest.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/sorter/StreamWindowBenchmarkTest.java
index dc9782e..a2f0da6 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/sorter/StreamWindowBenchmarkTest.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/sorter/StreamWindowBenchmarkTest.java
@@ -37,7 +37,7 @@
 import com.codahale.metrics.jvm.GarbageCollectorMetricSet;
 import com.codahale.metrics.jvm.MemoryUsageGaugeSet;
 
-@Ignore
+@Ignore("Ignore automatic heavy benchmark test")
 public class StreamWindowBenchmarkTest {
     private final static Logger LOGGER = LoggerFactory.getLogger(StreamWindowBenchmarkTest.class);
     public void sendDESCOrderedEventsToWindow(StreamWindow window, StreamWindowRepository.StorageType storageType, int num) {
diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/impl/StormExecutionRuntime.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/impl/StormExecutionRuntime.java
index 5854e08..23e7334 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/impl/StormExecutionRuntime.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/impl/StormExecutionRuntime.java
@@ -40,17 +40,17 @@
 
     private StormEnvironment environment;
 
-    static {
-        Runtime.getRuntime().addShutdownHook(new Thread(){
-            @Override
-            public void run() {
-                if(_localCluster != null) {
-                    LOG.info("Shutting down local storm cluster instance");
-                    _localCluster.shutdown();
-                }
-            }
-        });
-    }
+//    static {
+//        Runtime.getRuntime().addShutdownHook(new Thread(){
+//            @Override
+//            public void run() {
+//                if(_localCluster != null) {
+//                    LOG.info("Shutting down local storm cluster instance");
+//                    _localCluster.shutdown();
+//                }
+//            }
+//        });
+//    }
 
     private static LocalCluster getLocalCluster(){
         if(_localCluster == null){
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java b/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
index 6585564..0558454 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/TestStormApplication.java
@@ -25,10 +25,12 @@
 import backtype.storm.tuple.Fields;
 import org.apache.eagle.app.environment.impl.StormEnvironment;
 import org.apache.eagle.app.spi.AbstractApplicationProvider;
+import org.junit.Ignore;
 
 import java.util.Arrays;
 import java.util.Map;
 
+@Ignore
 public class TestStormApplication extends StormApplication<TestStormApplication.TestStormAppConfig>{
     @Override
     public StormTopology execute(TestStormAppConfig config, StormEnvironment environment) {
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/storm/MockStormApplicationTest.java b/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/storm/MockStormApplicationTest.java
index 5536c40..8e05b5e 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/storm/MockStormApplicationTest.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/test/java/org/apache/eagle/app/storm/MockStormApplicationTest.java
@@ -52,7 +52,7 @@
         MockStormApplication mockStormApplication = new MockStormApplication();
         mockStormApplication.execute(new StormEnvironment(ConfigFactory.load()));
         Assert.assertTrue(mockStormApplication.getAppConfig().isLoaded());
-        Assert.assertEquals(1234,mockStormApplication.getAppConfig().getSpoutNum());
+        Assert.assertEquals(3,mockStormApplication.getAppConfig().getSpoutNum());
         Assert.assertEquals(ApplicationEntity.Mode.LOCAL,mockStormApplication.getAppConfig().getMode());
     }
 
@@ -71,6 +71,5 @@
         appConfig.setLoaded(true);
         appConfig.setSpoutNum(4);
         new MockStormApplication().run(appConfig);
-//        Thread.sleep(Long.MAX_VALUE);
     }
 }
\ No newline at end of file
diff --git a/eagle-core/eagle-app/eagle-app-base/src/test/resources/application.conf b/eagle-core/eagle-app/eagle-app-base/src/test/resources/application.conf
index 0daa975..9f154f9 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/test/resources/application.conf
+++ b/eagle-core/eagle-app/eagle-app-base/src/test/resources/application.conf
@@ -53,7 +53,7 @@
 	}
 
 	"org.apache.eagle.app.storm.MockStormApplication": {
-		"spoutNum": 1234
+		"spoutNum": 3
 		"loaded": true
 		"mode":"LOCAL",
 		"appId":"test_topology_name"
diff --git a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
index d57f1a9..393dfd5 100644
--- a/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
+++ b/eagle-core/eagle-query/eagle-storage-hbase/src/test/java/org/apache/eagle/storage/hbase/spi/TestHBaseStorageLoader.java
@@ -20,13 +20,14 @@
 import org.apache.eagle.storage.exception.IllegalDataStorageTypeException;
 import org.apache.eagle.storage.hbase.HBaseStorage;
 import org.junit.Assert;
+import org.junit.Ignore;
 import org.junit.Test;
 
 /**
  * @since 3/20/15
  */
 public class TestHBaseStorageLoader {
-    @Test
+    @Test @Ignore("TODO: Add back after refactoring hbase related unit test cases")
     public void testHBaseStorageLoader() {
         try {
             assert DataStorageManager.getDataStorageByEagleConfig() instanceof HBaseStorage;
@@ -40,4 +41,4 @@
             Assert.fail(e.getMessage());
         }
     }
-}
+}
\ No newline at end of file
diff --git a/eagle-core/eagle-query/eagle-storage-jdbc/src/test/java/org/apache/eagle/storage/jdbc/TestJdbcStorage.java b/eagle-core/eagle-query/eagle-storage-jdbc/src/test/java/org/apache/eagle/storage/jdbc/TestJdbcStorage.java
index 41e1900..e75c2ad 100644
--- a/eagle-core/eagle-query/eagle-storage-jdbc/src/test/java/org/apache/eagle/storage/jdbc/TestJdbcStorage.java
+++ b/eagle-core/eagle-query/eagle-storage-jdbc/src/test/java/org/apache/eagle/storage/jdbc/TestJdbcStorage.java
@@ -27,6 +27,7 @@
 import org.apache.eagle.storage.operation.RawQuery;
 import org.apache.eagle.storage.result.ModifyResult;
 import org.apache.eagle.storage.result.QueryResult;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import java.io.IOException;
@@ -204,7 +205,7 @@
      *
      * @throws IOException
      */
-//    @Test
+    @Test @Ignore("Ignore performance auto testing")
     public void testWriterPerformance() throws IOException {
         StopWatch stopWatch = new StopWatch();
         stopWatch.start();
@@ -240,11 +241,4 @@
         instance.setTimestamp(System.currentTimeMillis());
         return instance;
     }
-
-
-    @Test
-    public void testInitSuccessfully() {
-
-    }
-
 }
diff --git a/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleStormApplication.java b/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleStormApplication.java
index b29c6c5..6819e59 100644
--- a/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleStormApplication.java
+++ b/eagle-examples/eagle-app-example/src/main/java/org/apache/eagle/app/example/ExampleStormApplication.java
@@ -23,6 +23,7 @@
 import backtype.storm.topology.TopologyBuilder;
 import backtype.storm.topology.base.BaseRichSpout;
 import backtype.storm.tuple.Fields;
+import backtype.storm.utils.Utils;
 import org.apache.eagle.app.StormApplication;
 import org.apache.eagle.app.environment.impl.StormEnvironment;
 
@@ -50,6 +51,7 @@
         public void nextTuple() {
             _collector.emit(Arrays.asList("disk.usage",System.currentTimeMillis(),"host_1",56.7));
             _collector.emit(Arrays.asList("cpu.usage",System.currentTimeMillis(),"host_2",99.8));
+            Utils.sleep(100);
         }
 
         @Override
