You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by yo...@apache.org on 2016/09/07 17:42:48 UTC

[52/52] [abbrv] incubator-eagle git commit: [EAGLE-520] Fix and decouple co-processor from eagle aggreation query service

[EAGLE-520] Fix and decouple co-processor from eagle aggreation query service

## Changes
* Fix AggregateResultCallback test case
* Fix configuration and Unit test on hbase
* Support GenericInMemoryAggregateQuery when coprocessor is not enabled and faster-xml as default json library
* Fix unit test: TestGenericServiceAPIResponseEntity
* Fix coprocessor-based aggregation query.
* Add integration test cases: `CoprocessorITSuite` and `CoprocessorToolITSuite`
* Fix coprocessor to support `hbase-0.98` and `protobuf-2.5.0`
* Add coprocessor tool:

~~~
usage: java org.apache.eagle.storage.hbase.tools.CoprocessorTool
            [--register/--unregister] [OPTIONS]
 -config <arg>     Configuration file
 -jar <arg>        Coprocessor target jar path
 -localJar <arg>   Coprocessor local source jar path
 -register         Register coprocessor
 -table <arg>      HBase table name, separated with comma, for example,
                   table1,table2,..
 -unregister       Unregister coprocessor
~~~

Author: Hao Chen <ha...@apache.org>

Closes #417 from haoch/EAGLE-520.


Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/21187b55
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/21187b55
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/21187b55

Branch: refs/heads/master
Commit: 21187b55c9e549de9d8b797a59516b0c99507f90
Parents: 3324279
Author: Hao Chen <ha...@apache.org>
Authored: Wed Sep 7 20:30:33 2016 +0800
Committer: Hao Chen <ha...@apache.org>
Committed: Wed Sep 7 20:30:33 2016 +0800

----------------------------------------------------------------------
 eagle-assembly/pom.xml                          |  258 +-
 .../eagle-alert/alert-common/pom.xml            |   10 +-
 .../alert/coordination/model/RouterSpec.java    |    3 +-
 .../alert/coordination/model/SpoutSpec.java     |    4 +-
 .../model/StreamRepartitionMetadata.java        |    3 +-
 .../model/internal/StreamGroup.java             |    1 -
 .../model/internal/StreamWorkSlotQueue.java     |    2 -
 .../engine/coordinator/PolicyDefinition.java    |    2 +-
 .../alert/engine/coordinator/Publishment.java   |    2 +-
 .../engine/coordinator/PublishmentType.java     |    2 +-
 .../alert/engine/coordinator/StreamColumn.java  |    1 -
 .../engine/coordinator/StreamPartition.java     |    2 +-
 .../engine/coordinator/StreamSortSpec.java      |    2 +-
 .../service/MetadataServiceClientImpl.java      |    2 +-
 .../org/apache/eagle/alert/utils/JsonUtils.java |    7 +-
 .../eagle/alert/utils/ZookeeperEmbedded.java    |   13 +-
 .../service/TestMetadataServiceClientImpl.java  |    2 +-
 .../apache/eagle/correlation/meta/JsonTest.java |    2 +-
 .../eagle-alert/alert-coordinator/pom.xml       |   24 +-
 .../eagle-alert/alert-engine/pom.xml            |    8 +-
 .../alert/engine/utils/SerializableUtils.java   |  175 +-
 .../alert/engine/e2e/CoordinatorClient.java     |    3 +-
 .../alert-metadata-service/pom.xml              |   24 +-
 .../environment/impl/StormExecutionRuntime.java |    6 +-
 .../impl/ApplicationProviderSPILoader.java      |    3 +-
 .../eagle/common/EagleExceptionWrapper.java     |   50 +-
 .../common/config/EagleConfigConstants.java     |   30 +-
 .../src/test/resources/test-service-config.conf |   27 +-
 .../apache/eagle/query/parser/TokenType.java    |   46 +-
 .../eagle-query/eagle-client-base/pom.xml       |   12 +-
 .../client/impl/EagleServiceBaseClient.java     |   45 +-
 .../client/TestEagleServiceClientImpl.java      |   40 +-
 .../eagle-query/eagle-entity-base/pom.xml       |    8 +
 .../log/base/taggedlog/EntityJsonModule.java    |   27 +
 .../log/base/taggedlog/MapEntrySerializer.java  |   38 +
 .../log/base/taggedlog/TaggedLogAPIEntity.java  |  409 +-
 .../eagle/log/entity/GenericMetricEntity.java   |    2 +-
 .../entity/GenericServiceAPIResponseEntity.java |   11 +-
 ...ricServiceAPIResponseEntityDeserializer.java |   29 +-
 .../eagle/log/entity/MetricMetadataEntity.java  |   16 +-
 .../eagle/log/entity/test/TestEntity.java       |   10 +-
 .../eagle/log/entity/test/TestLogAPIEntity.java |   14 +-
 .../entity/test/TestTimeSeriesAPIEntity.java    |   14 +-
 .../TestGenericServiceAPIResponseEntity.java    |    4 +-
 .../base/taggedlog/TestTaggedLogAPIEntity.java  |   40 +-
 .../eagle/query/aggregate/raw/GroupbyKey.java   |   15 +-
 .../query/aggregate/test/TestBucketQuery.java   |    4 +-
 .../eagle-query/eagle-service-base/pom.xml      |    8 +-
 .../generic/GenericEntityServiceResource.java   |    5 +
 .../generic/GenericObjectMapperProvider.java    |    4 +-
 .../service/selfcheck/ServiceResource.java      |   57 +-
 .../eagle-query/eagle-storage-base/pom.xml      |    2 +-
 .../src/test/resources/application.conf         |    4 +-
 .../eagle-query/eagle-storage-hbase/pom.xml     |    2 +-
 .../src/assembly/hbase-coprocessor.xml          |    1 +
 .../storage/hbase/HBaseEntitySchemaManager.java |    5 +-
 .../eagle/storage/hbase/HBaseStorage.java       |  157 +-
 .../eagle/storage/hbase/HBaseStorageAudit.java  |  204 +-
 .../hbase/query/GenericQueryBuilder.java        |  270 +-
 .../query/aggregate/GenericAggregateQuery.java  |  423 -
 .../query/aggregate/GenericAggregateReader.java |  175 +-
 .../GenericCoprocessorAggregateQuery.java       |  394 +
 .../GenericInMemoryAggregateQuery.java          |  211 +
 .../query/coprocessor/AggregateClient.java      |   69 +-
 .../query/coprocessor/AggregateProtocol.java    |   45 +-
 .../coprocessor/AggregateProtocolEndPoint.java  |  592 +-
 .../query/coprocessor/AggregateResult.java      |  171 +-
 .../coprocessor/AggregateResultCallback.java    |   24 +-
 .../query/coprocessor/ProtoBufConverter.java    |   76 +-
 .../coprocessor/_AggregateProtocolEndPoint.java |  139 -
 .../coprocessor/generated/AggregateProtos.java  | 8450 +++++++++---------
 .../coprocessor/impl/AggregateClientImpl.java   |  204 +-
 .../impl/AggregateResultCallbackImpl.java       |  194 +-
 .../hbase/query/coprocessor/package-info.java   |   99 +-
 .../hbase/spi/HBaseStorageServiceProvider.java  |    5 +-
 .../storage/hbase/tools/CoprocessorTool.java    |  159 +
 .../src/main/protobuf/AggregateProtocol.proto   |   10 +-
 .../eagle/storage/hbase/TestHBaseStatement.java |    6 +-
 .../eagle/storage/hbase/TestHBaseStorage.java   |   34 -
 .../TestAggregateResultCallback.java            |  121 +-
 .../coprocessor/TestGroupAggregateClient.java   |  399 +-
 .../TestGroupAggregateTimeSeriesClient.java     |  440 +-
 .../integrationtest/CoprocessorITSuite.java     |  246 +
 .../integrationtest/CoprocessorJarUtils.java    |   41 +
 .../integrationtest/CoprocessorToolITSuite.java |   92 +
 .../storage/hbase/spi/TestHBaseStorage.java     |   29 -
 .../hbase/spi/TestHBaseStorageLoader.java       |    3 +-
 .../src/test/resources/application-sandbox.conf |   23 +
 .../src/test/resources/application.conf         |   22 +-
 .../src/test/resources/hbase-site-sandbox.xml   |   40 +
 .../src/test/resources/log4j.properties         |    2 -
 .../eagle/storage/jdbc/JdbcConstants.java       |   16 +-
 .../jdbc/schema/JdbcEntitySchemaManager.java    |   13 +-
 .../schema/serializer/MetricJdbcSerDeser.java   |   27 +-
 .../src/test/resources/application-derby.conf   |    4 +-
 .../src/test/resources/application-mysql.conf   |    4 +-
 .../src/test/resources/application.conf         |    4 +-
 .../JobConfigurationAPIEntity.java              |    6 +-
 .../jpm/mr/historyentity/JobEventAPIEntity.java |    2 +-
 .../mr/historyentity/JobExecutionAPIEntity.java |   20 +-
 .../JobProcessTimeStampEntity.java              |    2 +-
 .../TaskAttemptCounterAPIEntity.java            |    6 +-
 .../TaskAttemptExecutionAPIEntity.java          |   14 +-
 .../historyentity/TaskExecutionAPIEntity.java   |   12 +-
 .../TaskFailureCountAPIEntity.java              |    6 +-
 .../hdfs/rest/HDFSResourceWebResource.java      |   94 +-
 eagle-server-assembly/pom.xml                   |    1 -
 eagle-server-assembly/src/main/bin/eagle-env.sh |   62 +-
 .../src/main/bin/eagle-service.sh               |  108 -
 .../eagle/server/RESTExceptionMapper.java       |    7 +-
 .../apache/eagle/server/ServerApplication.java  |   19 +-
 .../org/apache/eagle/server/ServerConfig.java   |   33 +-
 .../org/apache/eagle/server/ServerMain.java     |    6 +-
 .../eagle/server/module/GuideBundleLoader.java  |   31 +-
 .../eagle/server/module/ServerModule.java       |    5 +-
 .../src/main/resources/application.conf         |  124 +-
 .../src/main/resources/configuration.yml        |    3 +-
 .../src/main/resources/log4j.properties         |    2 -
 .../src/main/resources/providers-disabled.xml   |   27 -
 .../eagle/server/GuideBundleLoaderTest.java     |    2 +-
 .../eagle/server/ServerApplicationTest.java     |    2 +-
 .../src/main/resources/application-derby.conf   |    4 +-
 .../src/main/resources/application-hbase.conf   |    4 +-
 .../src/main/resources/application-mysql.conf   |    4 +-
 .../src/main/resources/application.conf         |   77 +-
 pom.xml                                         |   35 +-
 126 files changed, 8205 insertions(+), 7690 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-assembly/pom.xml b/eagle-assembly/pom.xml
index 90ee03c..2849ccd 100644
--- a/eagle-assembly/pom.xml
+++ b/eagle-assembly/pom.xml
@@ -1,129 +1,129 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-  ~ Licensed to the Apache Software Foundation (ASF) under one or more
-  ~ contributor license agreements.  See the NOTICE file distributed with
-  ~ this work for additional information regarding copyright ownership.
-  ~ The ASF licenses this file to You under the Apache License, Version 2.0
-  ~ (the "License"); you may not use this file except in compliance with
-  ~ the License.  You may obtain a copy of the License at
-  ~
-  ~    http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>eagle-parent</artifactId>
-        <groupId>org.apache.eagle</groupId>
-        <version>0.5.0-incubating-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-    <artifactId>eagle-assembly</artifactId>
-    <dependencies>
-        <!-- tomcat -->
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-catalina</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-jdbc</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-coyote</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-dbcp</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-catalina-ha</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-catalina-ant</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-jasper</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-catalina-ws</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.tomcat</groupId>
-            <artifactId>tomcat-catalina-jmx-remote</artifactId>
-            <version>${tomcat.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.eagle</groupId>
-            <artifactId>eagle-topology-assembly</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.ow2.asm</groupId>
-            <artifactId>asm</artifactId>
-            <version>4.0</version>
-        </dependency>
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-            </plugin>
-
-            <plugin>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>copy-dependencies</goal>
-                        </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <configuration>
-                    <descriptor>src/assembly/eagle-bin.xml</descriptor>
-                    <finalName>eagle-${project.version}</finalName>
-                </configuration>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                        <configuration>
-                            <tarLongFileMode>posix</tarLongFileMode>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-</project>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~    http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>eagle-parent</artifactId>
+        <groupId>org.apache.eagle</groupId>
+        <version>0.5.0-incubating-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>eagle-assembly</artifactId>
+    <dependencies>
+        <!-- tomcat -->
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-catalina</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-jdbc</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-coyote</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-dbcp</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-catalina-ha</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-catalina-ant</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-jasper</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-catalina-ws</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.tomcat</groupId>
+            <artifactId>tomcat-catalina-jmx-remote</artifactId>
+            <version>${tomcat.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.eagle</groupId>
+            <artifactId>eagle-topology-assembly</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.ow2.asm</groupId>
+            <artifactId>asm</artifactId>
+            <version>4.0</version>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <descriptor>src/assembly/eagle-bin.xml</descriptor>
+                    <finalName>eagle-${project.version}</finalName>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <configuration>
+                            <tarLongFileMode>posix</tarLongFileMode>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/pom.xml b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/pom.xml
index b56e27f..0fb2bb7 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/pom.xml
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/pom.xml
@@ -18,6 +18,7 @@
         <groupId>org.apache.eagle</groupId>
         <artifactId>eagle-alert</artifactId>
         <version>0.5.0-incubating-SNAPSHOT</version>
+        <relativePath>..</relativePath>
     </parent>
 
     <artifactId>alert-common</artifactId>
@@ -77,11 +78,14 @@
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>
         </dependency>
-
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
         </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-jaxrs</artifactId>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>joda-time</groupId>
             <artifactId>joda-time</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/RouterSpec.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/RouterSpec.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/RouterSpec.java
index 5241920..9a576a3 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/RouterSpec.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/RouterSpec.java
@@ -16,10 +16,11 @@
  */
 package org.apache.eagle.alert.coordination.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonIgnore;
 
 /**
  * @since Apr 29, 2016

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/SpoutSpec.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/SpoutSpec.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/SpoutSpec.java
index a197858..c0e8ec1 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/SpoutSpec.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/SpoutSpec.java
@@ -16,6 +16,8 @@
  */
 package org.apache.eagle.alert.coordination.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -81,7 +83,7 @@ public class SpoutSpec {
         return kafka2TupleMetadataMap;
     }
 
-    @org.codehaus.jackson.annotate.JsonIgnore
+    @JsonIgnore
     public StreamRepartitionMetadata getStream(String streamName) {
         for (List<StreamRepartitionMetadata> meta : this.streamRepartitionMetadataMap.values()) {
             Optional<StreamRepartitionMetadata> m = meta.stream().filter((t) -> t.getStreamId().equalsIgnoreCase(streamName)).findFirst();

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/StreamRepartitionMetadata.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/StreamRepartitionMetadata.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/StreamRepartitionMetadata.java
index dac04e8..86b1d27 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/StreamRepartitionMetadata.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/StreamRepartitionMetadata.java
@@ -16,10 +16,11 @@
  */
 package org.apache.eagle.alert.coordination.model;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import java.util.ArrayList;
 import java.util.List;
 
-import org.codehaus.jackson.annotate.JsonIgnore;
 
 /**
  * @since Apr 25, 2016

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamGroup.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamGroup.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamGroup.java
index 9cbd841..d87d62b 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamGroup.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamGroup.java
@@ -48,7 +48,6 @@ public class StreamGroup {
         this.streamPartitions.addAll(sps);
     }
 
-    @org.codehaus.jackson.annotate.JsonIgnore
     @JsonIgnore
     public String getStreamId() {
         StringBuilder sb = new StringBuilder("SG[");

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamWorkSlotQueue.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamWorkSlotQueue.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamWorkSlotQueue.java
index fab6217..f4f6142 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamWorkSlotQueue.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/coordination/model/internal/StreamWorkSlotQueue.java
@@ -76,7 +76,6 @@ public class StreamWorkSlotQueue {
         this.dedicated = dedicated;
     }
 
-    @org.codehaus.jackson.annotate.JsonIgnore
     @JsonIgnore
     public int getQueueSize() {
         return workingSlots.size();
@@ -104,7 +103,6 @@ public class StreamWorkSlotQueue {
         this.topoGroupStartIndex = topoGroupStartIndex;
     }
 
-    @org.codehaus.jackson.annotate.JsonIgnore
     @JsonIgnore
     public int getTopologyGroupStartIndex(String topo) {
         if (topoGroupStartIndex.containsKey(topo)) {

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PolicyDefinition.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PolicyDefinition.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PolicyDefinition.java
index b154514..c54955f 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PolicyDefinition.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PolicyDefinition.java
@@ -16,10 +16,10 @@
  */
 package org.apache.eagle.alert.engine.coordinator;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.ListUtils;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 
 import java.io.Serializable;
 import java.util.*;

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/Publishment.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/Publishment.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/Publishment.java
index 3c1da58..e3b4e33 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/Publishment.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/Publishment.java
@@ -16,8 +16,8 @@
  */
 package org.apache.eagle.alert.engine.coordinator;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 
 import java.util.List;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PublishmentType.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PublishmentType.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PublishmentType.java
index a3f2356..daecab4 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PublishmentType.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/PublishmentType.java
@@ -20,8 +20,8 @@ package org.apache.eagle.alert.engine.coordinator;
 
 import java.util.Objects;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class PublishmentType {

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamColumn.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamColumn.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamColumn.java
index c0d355e..4483fe4 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamColumn.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamColumn.java
@@ -134,7 +134,6 @@ public class StreamColumn implements Serializable {
             return name;
         }
 
-        @org.codehaus.jackson.annotate.JsonCreator
         @com.fasterxml.jackson.annotation.JsonCreator
         public static Type getEnumFromValue(String value) {
             for (Type testEnum : values()) {

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamPartition.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamPartition.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamPartition.java
index cdf0dbf..47e15c0 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamPartition.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamPartition.java
@@ -19,10 +19,10 @@ package org.apache.eagle.alert.engine.coordinator;
 import java.io.Serializable;
 import java.util.*;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 
 /**
  * StreamPartition defines how a data stream is partitioned and sorted

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamSortSpec.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamSortSpec.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamSortSpec.java
index a8b57f2..962a8ee 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamSortSpec.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/engine/coordinator/StreamSortSpec.java
@@ -17,9 +17,9 @@
 package org.apache.eagle.alert.engine.coordinator;
 
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import org.apache.commons.lang.builder.HashCodeBuilder;
 import org.apache.eagle.alert.utils.TimePeriodUtils;
-import org.codehaus.jackson.annotate.JsonIgnoreProperties;
 import org.joda.time.Period;
 
 import java.io.Serializable;

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/service/MetadataServiceClientImpl.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/service/MetadataServiceClientImpl.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/service/MetadataServiceClientImpl.java
index 636020e..2ddba55 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/service/MetadataServiceClientImpl.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/service/MetadataServiceClientImpl.java
@@ -25,6 +25,7 @@ import java.util.List;
 
 import javax.ws.rs.core.MediaType;
 
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.apache.eagle.alert.coordination.model.Kafka2TupleMetadata;
 import org.apache.eagle.alert.coordination.model.ScheduleState;
 import org.apache.eagle.alert.coordination.model.SpoutSpec;
@@ -33,7 +34,6 @@ import org.apache.eagle.alert.engine.coordinator.PolicyDefinition;
 import org.apache.eagle.alert.engine.coordinator.Publishment;
 import org.apache.eagle.alert.engine.coordinator.StreamDefinition;
 import org.apache.eagle.alert.engine.coordinator.StreamingCluster;
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/JsonUtils.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/JsonUtils.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/JsonUtils.java
index 09ee5f4..2ee1a5f 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/JsonUtils.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/JsonUtils.java
@@ -16,15 +16,10 @@
  */
 package org.apache.eagle.alert.utils;
 
-import org.codehaus.jackson.map.ObjectMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
-/**
- * @since May 1, 2016
- *
- */
 public class JsonUtils {
 
     public static final ObjectMapper mapper = new ObjectMapper();

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/ZookeeperEmbedded.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/ZookeeperEmbedded.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/ZookeeperEmbedded.java
index 6140677..c7c358f 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/ZookeeperEmbedded.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/main/java/org/apache/eagle/alert/utils/ZookeeperEmbedded.java
@@ -52,15 +52,18 @@ public class ZookeeperEmbedded {
 
     public void shutdown() {
         try {
-            if (!zookeeper.getState().equals(CuratorFrameworkState.STOPPED)) {
-                zookeeper.close();
+            if(zookeeper!=null) {
+                if (!zookeeper.getState().equals(CuratorFrameworkState.STOPPED)) {
+                    zookeeper.close();
+                }
             }
-
         } catch (Throwable e) {
             e.printStackTrace();
         } finally {
             try {
-                server.close();
+                if(server!=null) {
+                    server.close();
+                }
             } catch (IOException e) {
                 e.printStackTrace();
             } finally {
@@ -68,4 +71,4 @@ public class ZookeeperEmbedded {
             }
         }
     }
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/alert/service/TestMetadataServiceClientImpl.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/alert/service/TestMetadataServiceClientImpl.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/alert/service/TestMetadataServiceClientImpl.java
index 4496b8e..707515e 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/alert/service/TestMetadataServiceClientImpl.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/alert/service/TestMetadataServiceClientImpl.java
@@ -21,8 +21,8 @@ package org.apache.eagle.alert.service;
 
 import java.util.List;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.eagle.alert.engine.coordinator.PolicyDefinition;
-import org.codehaus.jackson.map.ObjectMapper;
 import org.junit.Ignore;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/correlation/meta/JsonTest.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/correlation/meta/JsonTest.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/correlation/meta/JsonTest.java
index 245b249..ff0a3f9 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/correlation/meta/JsonTest.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-common/src/test/java/org/apache/eagle/correlation/meta/JsonTest.java
@@ -16,8 +16,8 @@
  */
 package org.apache.eagle.correlation.meta;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import org.apache.eagle.alert.engine.coordinator.StreamDefinition;
-import org.codehaus.jackson.map.ObjectMapper;
 import org.junit.Test;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/pom.xml b/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/pom.xml
index 38abebd..bd06919 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/pom.xml
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/pom.xml
@@ -49,18 +49,18 @@
             <groupId>com.sun.jersey.contribs</groupId>
             <artifactId>jersey-multipart</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-mapper-asl</artifactId>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-jaxrs</artifactId>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-xc</artifactId>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>org.slf4j</groupId>
             <artifactId>slf4j-api</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/pom.xml b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/pom.xml
index e6244ab..d2f889b 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/pom.xml
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/pom.xml
@@ -46,10 +46,10 @@
             <groupId>com.sun.jersey</groupId>
             <artifactId>jersey-client</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-jaxrs</artifactId>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>com.netflix.archaius</groupId>
             <artifactId>archaius-core</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/utils/SerializableUtils.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/utils/SerializableUtils.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/utils/SerializableUtils.java
index f4652a3..090d61c 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/utils/SerializableUtils.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/main/java/org/apache/eagle/alert/engine/utils/SerializableUtils.java
@@ -16,6 +16,9 @@
  */
 package org.apache.eagle.alert.engine.utils;
 
+import org.xerial.snappy.SnappyInputStream;
+import org.xerial.snappy.SnappyOutputStream;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -23,106 +26,102 @@ import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 
-import org.xerial.snappy.SnappyInputStream;
-import org.xerial.snappy.SnappyOutputStream;
 
 /**
  * Utilities for working with Serializables.
- *
- * Derived from "com.google.cloud.dataflow.sdk.util.SerializableUtils":
- * https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/com/google/cloud/dataflow/sdk/util/SerializableUtils.java
+ * Derived from "com.google.cloud.dataflow.sdk.util.SerializableUtils"
  */
 public class SerializableUtils {
-  /**
-   * Serializes the argument into an array of bytes, and returns it.
-   *
-   * @throws IllegalArgumentException if there are errors when serializing
-   */
-  public static byte[] serializeToCompressedByteArray(Object value) {
-    try {
-      ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-      try (ObjectOutputStream oos = new ObjectOutputStream(new SnappyOutputStream(buffer))) {
-        oos.writeObject(value);
-      }
-      return buffer.toByteArray();
-    } catch (IOException exn) {
-      throw new IllegalArgumentException(
-          "unable to serialize " + value,
-          exn);
+    /**
+     * Serializes the argument into an array of bytes, and returns it.
+     *
+     * @throws IllegalArgumentException if there are errors when serializing
+     */
+    public static byte[] serializeToCompressedByteArray(Object value) {
+        try {
+            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+            try (ObjectOutputStream oos = new ObjectOutputStream(new SnappyOutputStream(buffer))) {
+                oos.writeObject(value);
+            }
+            return buffer.toByteArray();
+        } catch (IOException exn) {
+            throw new IllegalArgumentException(
+                    "unable to serialize " + value,
+                    exn);
+        }
     }
-  }
 
-  /**
-   * Serializes the argument into an array of bytes, and returns it.
-   *
-   * @throws IllegalArgumentException if there are errors when serializing
-   */
-  public static byte[] serializeToByteArray(Object value) {
-    try {
-      ByteArrayOutputStream buffer = new ByteArrayOutputStream();
-      try (ObjectOutputStream oos = new ObjectOutputStream(buffer)) {
-        oos.writeObject(value);
-      }
-      return buffer.toByteArray();
-    } catch (IOException exn) {
-      throw new IllegalArgumentException("unable to serialize " + value, exn);
+    /**
+     * Serializes the argument into an array of bytes, and returns it.
+     *
+     * @throws IllegalArgumentException if there are errors when serializing
+     */
+    public static byte[] serializeToByteArray(Object value) {
+        try {
+            ByteArrayOutputStream buffer = new ByteArrayOutputStream();
+            try (ObjectOutputStream oos = new ObjectOutputStream(buffer)) {
+                oos.writeObject(value);
+            }
+            return buffer.toByteArray();
+        } catch (IOException exn) {
+            throw new IllegalArgumentException("unable to serialize " + value, exn);
+        }
     }
-  }
 
-  /**
-   * Deserializes an object from the given array of bytes, e.g., as
-   * serialized using {@link #serializeToCompressedByteArray}, and returns it.
-   *
-   * @throws IllegalArgumentException if there are errors when
-   * deserializing, using the provided description to identify what
-   * was being deserialized
-   */
-  public static Object deserializeFromByteArray(byte[] encodedValue,
-                                                          String description) {
-    try {
-      try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(encodedValue))) {
-        return ois.readObject();
-      }
-    } catch (IOException | ClassNotFoundException exn) {
-      throw new IllegalArgumentException(
-          "unable to deserialize " + description,
-          exn);
+    /**
+     * Deserializes an object from the given array of bytes, e.g., as
+     * serialized using {@link #serializeToCompressedByteArray}, and returns it.
+     *
+     * @throws IllegalArgumentException if there are errors when
+     *                                  deserializing, using the provided description to identify what
+     *                                  was being deserialized
+     */
+    public static Object deserializeFromByteArray(byte[] encodedValue,
+                                                  String description) {
+        try {
+            try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(encodedValue))) {
+                return ois.readObject();
+            }
+        } catch (IOException | ClassNotFoundException exn) {
+            throw new IllegalArgumentException(
+                    "unable to deserialize " + description,
+                    exn);
+        }
     }
-  }
 
-  /**
-   * Deserializes an object from the given array of bytes, e.g., as
-   * serialized using {@link #serializeToCompressedByteArray}, and returns it.
-   *
-   * @throws IllegalArgumentException if there are errors when
-   * deserializing, using the provided description to identify what
-   * was being deserialized
-   */
-  public static Object deserializeFromCompressedByteArray(byte[] encodedValue,
-                                                          String description) {
-    try {
-      try (ObjectInputStream ois = new ObjectInputStream(
-          new SnappyInputStream(new ByteArrayInputStream(encodedValue)))) {
-        return ois.readObject();
-      }
-    } catch (IOException | ClassNotFoundException exn) {
-      throw new IllegalArgumentException(
-          "unable to deserialize " + description,
-          exn);
+    /**
+     * Deserializes an object from the given array of bytes, e.g., as
+     * serialized using {@link #serializeToCompressedByteArray}, and returns it.
+     *
+     * @throws IllegalArgumentException if there are errors when
+     *                                  deserializing, using the provided description to identify what
+     *                                  was being deserialized
+     */
+    public static Object deserializeFromCompressedByteArray(byte[] encodedValue,
+                                                            String description) {
+        try {
+            try (ObjectInputStream ois = new ObjectInputStream(
+                    new SnappyInputStream(new ByteArrayInputStream(encodedValue)))) {
+                return ois.readObject();
+            }
+        } catch (IOException | ClassNotFoundException exn) {
+            throw new IllegalArgumentException(
+                    "unable to deserialize " + description,
+                    exn);
+        }
     }
-  }
 
-  public static <T extends Serializable> T ensureSerializable(T value) {
-    @SuppressWarnings("unchecked")
-    T copy = (T) deserializeFromCompressedByteArray(serializeToCompressedByteArray(value),
-        value.toString());
-    return copy;
-  }
+    public static <T extends Serializable> T ensureSerializable(T value) {
+        @SuppressWarnings("unchecked")
+        T copy = (T) deserializeFromCompressedByteArray(serializeToCompressedByteArray(value),
+                value.toString());
+        return copy;
+    }
 
-  public static <T extends Serializable> T clone(T value) {
-    @SuppressWarnings("unchecked")
-    T copy = (T) deserializeFromCompressedByteArray(serializeToCompressedByteArray(value),
-        value.toString());
-    return copy;
-  }
+    public static <T extends Serializable> T clone(T value) {
+        @SuppressWarnings("unchecked")
+        T copy = (T) deserializeFromCompressedByteArray(serializeToCompressedByteArray(value),
+                value.toString());
+        return copy;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/e2e/CoordinatorClient.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/e2e/CoordinatorClient.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/e2e/CoordinatorClient.java
index 0cf5115..a85a5cd 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/e2e/CoordinatorClient.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-engine/src/test/java/org/apache/eagle/alert/engine/e2e/CoordinatorClient.java
@@ -20,8 +20,7 @@ import java.io.Closeable;
 import java.io.IOException;
 
 import javax.ws.rs.core.MediaType;
-
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/pom.xml b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/pom.xml
index 9467f1b..2cbef7c 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/pom.xml
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/pom.xml
@@ -64,18 +64,18 @@
             <artifactId>jersey-client</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-mapper-asl</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
-        </dependency>
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-mapper-asl</artifactId>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-jaxrs</artifactId>-->
+        <!--</dependency>-->
+        <!--<dependency>-->
+            <!--<groupId>org.codehaus.jackson</groupId>-->
+            <!--<artifactId>jackson-xc</artifactId>-->
+        <!--</dependency>-->
         <dependency>
             <groupId>com.fasterxml.jackson.core</groupId>
             <artifactId>jackson-databind</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/environment/impl/StormExecutionRuntime.java
----------------------------------------------------------------------
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 e37e8f2..99dbed8 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
@@ -33,6 +33,8 @@ import org.slf4j.LoggerFactory;
 import scala.Int;
 import storm.trident.spout.RichSpoutBatchExecutor;
 
+import java.util.Objects;
+
 public class StormExecutionRuntime implements ExecutionRuntime<StormEnvironment,StormTopology> {
     private static final Logger LOG = LoggerFactory.getLogger(StormExecutionRuntime.class);
     private static LocalCluster _localCluster;
@@ -62,7 +64,7 @@ public class StormExecutionRuntime implements ExecutionRuntime<StormEnvironment,
     private static final String STORM_NIMBUS_THRIFT_CONF_PATH = "application.storm.nimbusThriftPort";
     private static final String WORKERS = "workers";
 
-    public backtype.storm.Config getStormConfig() {
+    private backtype.storm.Config getStormConfig() {
         backtype.storm.Config conf = new backtype.storm.Config();
         conf.put(RichSpoutBatchExecutor.MAX_BATCH_SIZE_CONF, Int.box(64 * 1024));
         conf.put(backtype.storm.Config.TOPOLOGY_RECEIVER_BUFFER_SIZE, Int.box(8));
@@ -129,7 +131,7 @@ public class StormExecutionRuntime implements ExecutionRuntime<StormEnvironment,
     public void stop(Application<StormEnvironment, StormTopology> executor, com.typesafe.config.Config config) {
         String appId = config.getString("appId");
         LOG.info("Stopping topology {} ..." + appId);
-        if (config.getString("mode") == ApplicationEntity.Mode.CLUSTER.name()) {
+        if (Objects.equals(config.getString("mode"), ApplicationEntity.Mode.CLUSTER.name())) {
             Nimbus.Client stormClient = NimbusClient.getConfiguredClient(getStormConfig()).getClient();
             try {
                 stormClient.killTopology(appId);

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/service/impl/ApplicationProviderSPILoader.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/service/impl/ApplicationProviderSPILoader.java b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/service/impl/ApplicationProviderSPILoader.java
index 1e1dd28..c7bc4f6 100644
--- a/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/service/impl/ApplicationProviderSPILoader.java
+++ b/eagle-core/eagle-app/eagle-app-base/src/main/java/org/apache/eagle/app/service/impl/ApplicationProviderSPILoader.java
@@ -39,11 +39,10 @@ public class ApplicationProviderSPILoader extends ApplicationProviderLoader{
         super(config);
         if(config.hasPath(APPLICATIONS_DIR_PROPS_KEY)) {
             this.appProviderExtDir = config.getString(APPLICATIONS_DIR_PROPS_KEY);
+            LOG.warn("Using {}: {}",APPLICATIONS_DIR_PROPS_KEY,this.appProviderExtDir);
         }else{
             this.appProviderExtDir = null;
         }
-
-        LOG.warn("Using {}: {}",APPLICATIONS_DIR_PROPS_KEY,this.appProviderExtDir);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java b/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
index 1fc4e85..4ab2b78 100644
--- a/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
+++ b/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/EagleExceptionWrapper.java
@@ -14,29 +14,35 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package org.apache.eagle.common;
 
 public class EagleExceptionWrapper {
-	private final static int MAX_DEPTH = 10;
-	
-	public static String wrap(Exception ex){
-		return wrap(ex, EagleExceptionWrapper.MAX_DEPTH);
-	}
-	
-	public static String wrap(Exception ex, int maxdepth){
-		int d = maxdepth;
-		if(d <= 0)
-			d = EagleExceptionWrapper.MAX_DEPTH;
-		int index = 0;
-		StringBuffer sb = new StringBuffer();
-		sb.append(ex);
-		sb.append(System.getProperty("line.separator"));
-		for(StackTraceElement element : ex.getStackTrace()){
-			sb.append(element.toString());
-			sb.append(System.getProperty("line.separator"));
-			if(++index >= d)
-				break;
-		}
-		return sb.toString();
-	}
+    private static final int MAX_DEPTH = 10;
+
+    public static String wrap(Exception ex) {
+        return wrap(ex, EagleExceptionWrapper.MAX_DEPTH);
+    }
+
+    public static String wrap(Exception ex, int maxdepth) {
+        if(ex == null) {
+            return null;
+        }
+        int d = maxdepth;
+        if (d <= 0) {
+            d = EagleExceptionWrapper.MAX_DEPTH;
+        }
+        int index = 0;
+        StringBuffer sb = new StringBuffer();
+        sb.append(ex);
+        sb.append(System.getProperty("line.separator"));
+        for (StackTraceElement element : ex.getStackTrace()) {
+            sb.append(element.toString());
+            sb.append(System.getProperty("line.separator"));
+            if (++index >= d) {
+                break;
+            }
+        }
+        return sb.toString();
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java b/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
index 26d7b49..7829728 100644
--- a/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
+++ b/eagle-core/eagle-common/src/main/java/org/apache/eagle/common/config/EagleConfigConstants.java
@@ -17,21 +17,21 @@
 package org.apache.eagle.common.config;
 
 public final class EagleConfigConstants {
-    public final static String SERVICE_ENV = "eagle.service.env";
-    public final static String SERVICE_HOST = "eagle.service.host";
-    public final static String SERVICE_PORT = "eagle.service.port";
-    public final static String SERVICE_HBASE_ZOOKEEPER_QUORUM = "eagle.service.hbase-zookeeper-quorum";
-    public final static String SERVICE_HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT = "eagle.service.hbase-zookeeper-property-clientPort";
-    public final static String SERVICE_ZOOKEEPER_ZNODE_PARENT = "eagle.service.zookeeper-znode-parent";
-    public final static String SERVICE_HBASE_CLIENT_IPC_POOL_SIZE = "eagle.service.hbase-client-ipc-pool-size";
-    public final static String SERVICE_STORAGE_TYPE = "eagle.service.storage-type";
-    public final static String SERVICE_COPROCESSOR_ENABLED = "eagle.service.coprocessor-enabled";
-    public final static String SERVICE_TABLE_NAME_PREFIXED_WITH_ENVIRONMENT = "eagle.service.table-name-prefixed-with-environment";
-    public final static String SERVICE_HBASE_CLIENT_SCAN_CACHE_SIZE = "eagle.service.hbase-client-scan-cache-size";
-    public final static String SERVICE_THREADPOOL_CORE_SIZE = "eagle.service.threadpool-core-size";
-    public final static String SERVICE_THREADPOOL_MAX_SIZE = "eagle.service.threadpool-max-size";
-    public final static String SERVICE_THREADPOOL_SHRINK_SIZE = "eagle.service.threadpool-shrink-size";
-    public final static String SERVICE_AUDITING_ENABLED = "eagle.service.audit-enabled";
+    public final static String SERVICE_ENV = "service.env";
+    public final static String SERVICE_HOST = "service.host";
+    public final static String SERVICE_PORT = "service.port";
+    public final static String SERVICE_HBASE_ZOOKEEPER_QUORUM = "storage.hbase.hbase-zookeeper-quorum";
+    public final static String SERVICE_HBASE_ZOOKEEPER_PROPERTY_CLIENTPORT = "storage.hbase-zookeeper-property-clientPort";
+    public final static String SERVICE_ZOOKEEPER_ZNODE_PARENT = "storage.zookeeper-znode-parent";
+    public final static String SERVICE_HBASE_CLIENT_IPC_POOL_SIZE = "storage.hbase-client-ipc-pool-size";
+    public final static String SERVICE_STORAGE_TYPE = "storage.storage-type";
+    public final static String SERVICE_COPROCESSOR_ENABLED = "storage.coprocessor-enabled";
+    public final static String SERVICE_TABLE_NAME_PREFIXED_WITH_ENVIRONMENT = "storage.table-name-prefixed-with-environment";
+    public final static String SERVICE_HBASE_CLIENT_SCAN_CACHE_SIZE = "storage.hbase-client-scan-cache-size";
+    public final static String SERVICE_THREADPOOL_CORE_SIZE = "storage.threadpool-core-size";
+    public final static String SERVICE_THREADPOOL_MAX_SIZE = "storage.threadpool-max-size";
+    public final static String SERVICE_THREADPOOL_SHRINK_SIZE = "storage.threadpool-shrink-size";
+    public final static String SERVICE_AUDITING_ENABLED = "storage.audit-enabled";
 
     public final static String EAGLE_TIME_ZONE = "eagle.timezone";
     public final static String DEFAULT_EAGLE_TIME_ZONE = "UTC";

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-common/src/test/resources/test-service-config.conf
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-common/src/test/resources/test-service-config.conf b/eagle-core/eagle-common/src/test/resources/test-service-config.conf
index 848391d..c4fcffe 100644
--- a/eagle-core/eagle-common/src/test/resources/test-service-config.conf
+++ b/eagle-core/eagle-common/src/test/resources/test-service-config.conf
@@ -13,18 +13,19 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-eagle {
-	timezone = "UTC"
 
-	service {
-		env = "test"
-		host = "localhost"
-		port = 9090
-		storage-type = "hbase"
-		table-name-prefixed-with-environment = true
-		hbase-zookeeper-quorum = "localhost"
-		hbase-zookeeper-property-clientPort = 2181
-		zookeeper-znode-parent = "/hbase-unsecure"
-		coprocessor-enabled = false
-	}
+service {
+	timezone = "UTC"
+	env = "test"
+	host = "localhost"
+	port = 9090
 }
+
+storage{
+	storage-type = "hbase"
+	table-name-prefixed-with-environment = true
+	hbase-zookeeper-quorum = "localhost"
+	hbase-zookeeper-property-clientPort = 2181
+	zookeeper-znode-parent = "/hbase-unsecure"
+	coprocessor-enabled = false
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-antlr/src/main/java/org/apache/eagle/query/parser/TokenType.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-antlr/src/main/java/org/apache/eagle/query/parser/TokenType.java b/eagle-core/eagle-query/eagle-antlr/src/main/java/org/apache/eagle/query/parser/TokenType.java
index 2707c60..a16e69d 100755
--- a/eagle-core/eagle-query/eagle-antlr/src/main/java/org/apache/eagle/query/parser/TokenType.java
+++ b/eagle-core/eagle-query/eagle-antlr/src/main/java/org/apache/eagle/query/parser/TokenType.java
@@ -17,28 +17,28 @@
 package org.apache.eagle.query.parser;
 
 public enum TokenType {
-	EXP, NUMBER, STRING, LIST, NULL,ID;
+    EXP, NUMBER, STRING, LIST, NULL, ID;
 
-	public static TokenType locate(String tokenText){
-		String _value = tokenText.trim();
-		if (TokenConstant.EXP_PATTERN.matcher(_value).matches()) {
-			// e.q. "value" with EXP{...}
-			return EXP;
-		}else if(TokenConstant.STRING_PATTERN.matcher(_value).matches()){
-			// e.q. "value" with quotes
-			return STRING;
-		}else if(TokenConstant.ARRAY_PATTERN.matcher(_value).matches()){
-			// e.q. (item1,item2,..)
-			return LIST;
-		}else if(TokenConstant.NUMBER_PATTERN.matcher(_value).matches()){
-			// e.q. 1.32 without quotes
-			return NUMBER;
-		}else if(TokenConstant.NULL_PATTERN.matcher(_value).matches()){
-			// e.q. null or NULL without quotes
-			return NULL;
-		} else if(TokenConstant.ID_PATTERN.matcher(_value).matches()){
-			return ID;
-		}
-		throw new IllegalArgumentException("Can't locate type of value text: "+tokenText);
-	}
+    public static TokenType locate(String tokenText) {
+        String _value = tokenText.trim();
+        if (TokenConstant.EXP_PATTERN.matcher(_value).matches()) {
+            // e.q. "value" with EXP{...}
+            return EXP;
+        } else if (TokenConstant.STRING_PATTERN.matcher(_value).matches()) {
+            // e.q. "value" with quotes
+            return STRING;
+        } else if (TokenConstant.ARRAY_PATTERN.matcher(_value).matches()) {
+            // e.q. (item1,item2,..)
+            return LIST;
+        } else if (TokenConstant.NUMBER_PATTERN.matcher(_value).matches()) {
+            // e.q. 1.32 without quotes
+            return NUMBER;
+        } else if (TokenConstant.NULL_PATTERN.matcher(_value).matches()) {
+            // e.q. null or NULL without quotes
+            return NULL;
+        } else if (TokenConstant.ID_PATTERN.matcher(_value).matches()) {
+            return ID;
+        }
+        throw new IllegalArgumentException("Can't locate type of value text: " + tokenText);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-client-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-client-base/pom.xml b/eagle-core/eagle-query/eagle-client-base/pom.xml
index 9b5d177..41a02c5 100644
--- a/eagle-core/eagle-query/eagle-client-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-client-base/pom.xml
@@ -50,16 +50,16 @@
             <scope>test</scope>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-jaxrs</artifactId>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-core-asl</artifactId>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.codehaus.jackson</groupId>
-            <artifactId>jackson-xc</artifactId>
+            <groupId>com.fasterxml.jackson.jaxrs</groupId>
+            <artifactId>jackson-jaxrs-json-provider</artifactId>
         </dependency>
         <dependency>
             <groupId>com.sun.jersey</groupId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/impl/EagleServiceBaseClient.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/impl/EagleServiceBaseClient.java b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/impl/EagleServiceBaseClient.java
index 70e92bf..ea5d9a5 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/impl/EagleServiceBaseClient.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/main/java/org/apache/eagle/service/client/impl/EagleServiceBaseClient.java
@@ -16,12 +16,11 @@
  */
 package org.apache.eagle.service.client.impl;
 
-import com.sun.jersey.api.client.AsyncWebResource;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.config.ClientConfig;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-import com.sun.jersey.client.urlconnection.URLConnectionClientHandler;
+import com.fasterxml.jackson.core.JsonFactory;
+import com.fasterxml.jackson.core.JsonGenerationException;
+import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
 import org.apache.eagle.common.Base64;
 import org.apache.eagle.log.base.taggedlog.TaggedLogAPIEntity;
 import org.apache.eagle.log.entity.GenericServiceAPIResponseEntity;
@@ -31,11 +30,13 @@ import org.apache.eagle.service.client.EagleServiceAsyncClient;
 import org.apache.eagle.service.client.EagleServiceClientException;
 import org.apache.eagle.service.client.IEagleServiceClient;
 import org.apache.eagle.service.client.security.SecurityConstants;
-import org.codehaus.jackson.JsonFactory;
-import org.codehaus.jackson.JsonGenerationException;
-import org.codehaus.jackson.jaxrs.JacksonJsonProvider;
-import org.codehaus.jackson.map.JsonMappingException;
-import org.codehaus.jackson.map.ObjectMapper;
+
+import com.sun.jersey.api.client.AsyncWebResource;
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.api.client.config.ClientConfig;
+import com.sun.jersey.api.client.config.DefaultClientConfig;
+import com.sun.jersey.client.urlconnection.URLConnectionClientHandler;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -66,7 +67,7 @@ public abstract class EagleServiceBaseClient implements IEagleServiceClient {
 
     private final static Logger LOG = LoggerFactory.getLogger(EagleServiceBaseClient.class);
 
-    protected static final String DEFAULT_BASE_PATH = "/eagle-service/rest";
+    protected static final String DEFAULT_BASE_PATH = "/rest";
     protected static final MediaType DEFAULT_MEDIA_TYPE = MediaType.APPLICATION_JSON_TYPE;
     protected static final String DEFAULT_HTTP_HEADER_CONTENT_TYPE = "application/json";
     protected static final String CONTENT_TYPE = "Content-Type";
@@ -74,7 +75,7 @@ public abstract class EagleServiceBaseClient implements IEagleServiceClient {
     protected final static String GENERIC_ENTITY_PATH = "/entities";
     protected final static String GENERIC_ENTITY_DELETE_PATH = GENERIC_ENTITY_PATH+"/delete";
     private final Client client;
-    private final List<Closeable> closeables = new LinkedList<Closeable>();
+    private final List<Closeable> closeables = new LinkedList<>();
 
     private volatile boolean isStopped = false;
 
@@ -93,7 +94,6 @@ public abstract class EagleServiceBaseClient implements IEagleServiceClient {
         cc.getProperties().put(URLConnectionClientHandler.PROPERTY_HTTP_URL_CONNECTION_SET_METHOD_WORKAROUND, true);
         this.client = Client.create(cc);
         client.addFilter(new com.sun.jersey.api.client.filter.GZIPContentEncodingFilter());
-        //        Runtime.getRuntime().addShutdownHook(new EagleServiceClientShutdownHook(this));
     }
 
     public EagleServiceBaseClient(String host, int port, String basePath){
@@ -104,23 +104,6 @@ public abstract class EagleServiceBaseClient implements IEagleServiceClient {
         this(host, port, DEFAULT_BASE_PATH, username, password);
     }
 
-//    private class EagleServiceClientShutdownHook extends Thread{
-//        final IEagleServiceClient client;
-//        EagleServiceClientShutdownHook(IEagleServiceClient client){
-//            this.client = client;
-//        }
-//
-//        @Override
-//        public void run() {
-//            LOG.info("Client shutdown hook");
-//            try {
-//                this.client.close();
-//            } catch (IOException e) {
-//                LOG.error(e.getMessage(),e);
-//            }
-//        }
-//    }
-
     public Client getJerseyClient(){
         return client;
     }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-client-base/src/test/java/org/apache/eagle/service/client/TestEagleServiceClientImpl.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-client-base/src/test/java/org/apache/eagle/service/client/TestEagleServiceClientImpl.java b/eagle-core/eagle-query/eagle-client-base/src/test/java/org/apache/eagle/service/client/TestEagleServiceClientImpl.java
index 9051ca7..eab33a7 100644
--- a/eagle-core/eagle-query/eagle-client-base/src/test/java/org/apache/eagle/service/client/TestEagleServiceClientImpl.java
+++ b/eagle-core/eagle-query/eagle-client-base/src/test/java/org/apache/eagle/service/client/TestEagleServiceClientImpl.java
@@ -21,29 +21,19 @@ import org.apache.eagle.log.entity.GenericServiceAPIResponseEntity;
 import org.apache.eagle.log.entity.test.TestTimeSeriesAPIEntity;
 import org.apache.eagle.service.client.impl.EagleServiceClientImpl;
 import org.apache.eagle.service.client.impl.ConcurrentSender;
-import org.junit.Assert;
-import org.junit.Test;
+import org.junit.*;
 
 import java.io.IOException;
 import java.util.*;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
 
+@Ignore("Depends on eagle server, should be used for integration test")
 public class TestEagleServiceClientImpl extends ClientTestBase {
 
-    IEagleServiceClient client = new EagleServiceClientImpl("localhost",38080);
+    private IEagleServiceClient client = new EagleServiceClientImpl("localhost",5050);
 
-    //@Before
-    public void setUp() {
-        hbase.createTable("unittest", "f");
-    }
-
-    //After
-    public void cleanUp() {
-        hbase.deleteTable("unittest");
-    }
-
-    //@Test
+    @Test
     public void testCreateAndSearch() throws IOException, EagleServiceClientException, IllegalAccessException, InstantiationException {
         List<TestTimeSeriesAPIEntity> entities = new ArrayList<TestTimeSeriesAPIEntity>();
 
@@ -101,7 +91,7 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
         return entity;
     }
 
-    //@Test
+    @Test
     public void testUpdate() throws IOException, EagleServiceClientException, IllegalAccessException, InstantiationException {
         List<TestTimeSeriesAPIEntity> entities = new ArrayList<TestTimeSeriesAPIEntity>();
         for(int i=0;i<100;i++){
@@ -139,7 +129,7 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
         assert response.getObj().size() > 0;
     }
 
-    //@Test
+    @Test
     public void testDelete() throws IOException, EagleServiceClientException {
         List<TestTimeSeriesAPIEntity> entities = new ArrayList<TestTimeSeriesAPIEntity>();
         for(int i=0;i<100;i++){
@@ -185,7 +175,7 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
         assert response.isSuccess();
     }
 
-    //@Test
+    @Test
     public void testMetricsSender() throws IOException, EagleServiceClientException {
         List<GenericMetricEntity> entities = new ArrayList<GenericMetricEntity>();
 
@@ -238,13 +228,13 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
                 .pageSize(1000)
                 .send();
         List<Map> aggResult = metricAggResponse.getObj();
-        assert aggResult != null;
-        assert metricAggResponse.isSuccess();
-
+        Assert.assertNotNull(aggResult);
+        Assert.assertTrue(metricAggResponse.isSuccess());
+        Assert.assertTrue(aggResult.size() > 0);
         client.close();
     }
 
-    //@Test
+    @Test
     public void testBatchSender() throws IOException, EagleServiceClientException {
         client.batch(2)
                 .send(newEntity())
@@ -253,7 +243,7 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
         client.close();
     }
 
-    //@Test
+    @Test
     public void testAsyncSender() throws IOException, EagleServiceClientException, ExecutionException, InterruptedException {
         EagleServiceAsyncClient asyncClient = client.async();
 
@@ -281,7 +271,7 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
         client.close();
     }
 
-    //@Test
+    @Test
     public void testParallelSender() throws IOException, EagleServiceClientException, InterruptedException {
         // Case #1:
         ConcurrentSender concurrentSender = client
@@ -310,9 +300,8 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
         client.close();
     }
 
-    //@Test
+    @Test
     public void testSearch() throws EagleServiceClientException, IOException {
-        hbase.createTable("eagle_metric", "f");
 
         GenericServiceAPIResponseEntity<TestTimeSeriesAPIEntity> response =
                 client.search("TestTimeSeriesAPIEntity[]{*}").startTime(0).endTime(System.currentTimeMillis()+1000).pageSize(1000).send();
@@ -328,7 +317,6 @@ public class TestEagleServiceClientImpl extends ClientTestBase {
                 client.search("GenericMetricService[@cluster = \"cluster4ut\" AND @datacenter = \"datacenter4ut\"]{*}").metricName("unit.test.metrics").startTime(0).endTime(System.currentTimeMillis()+1000).pageSize(1000).send();
 
         Assert.assertTrue(response3.isSuccess());
-        hbase.deleteTable("eagle_metric");
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-entity-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/pom.xml b/eagle-core/eagle-query/eagle-entity-base/pom.xml
index 3d272e3..017375c 100755
--- a/eagle-core/eagle-query/eagle-entity-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-entity-base/pom.xml
@@ -67,6 +67,14 @@
             </exclusions>
         </dependency>
         <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.eagle</groupId>
             <artifactId>eagle-embed-hbase</artifactId>
             <version>${project.version}</version>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/EntityJsonModule.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/EntityJsonModule.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/EntityJsonModule.java
new file mode 100644
index 0000000..fb86fa6
--- /dev/null
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/EntityJsonModule.java
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.eagle.log.base.taggedlog;
+
+import com.fasterxml.jackson.databind.module.SimpleModule;
+
+import java.util.Map;
+
+public class EntityJsonModule extends SimpleModule {
+    public EntityJsonModule(){
+        addSerializer(Map.Entry.class,new MapEntrySerializer());
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/21187b55/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/MapEntrySerializer.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/MapEntrySerializer.java b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/MapEntrySerializer.java
new file mode 100644
index 0000000..4cebbf6
--- /dev/null
+++ b/eagle-core/eagle-query/eagle-entity-base/src/main/java/org/apache/eagle/log/base/taggedlog/MapEntrySerializer.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * <p/>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p/>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.eagle.log.base.taggedlog;
+
+import com.fasterxml.jackson.core.JsonGenerator;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.JsonSerializer;
+import com.fasterxml.jackson.databind.SerializerProvider;
+
+import java.io.IOException;
+import java.util.Map;
+
+public class MapEntrySerializer extends JsonSerializer<Map.Entry> {
+    private static final String KEY_FIELD = "key";
+    private static final String VALUE_FIELD = "value";
+
+    @Override
+    public void serialize(Map.Entry entry, JsonGenerator jsonGenerator, SerializerProvider serializerProvider) throws IOException, JsonProcessingException {
+        jsonGenerator.writeStartObject();
+        jsonGenerator.writeObjectField(KEY_FIELD,entry.getKey());
+        jsonGenerator.writeObjectField(VALUE_FIELD,entry.getValue());
+        jsonGenerator.writeEndObject();
+    }
+}