eagle-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yonzhang2...@apache.org
Subject incubator-eagle git commit: EAGLE-294, 289 fix alert email format, default value alert email prettify
Date Thu, 16 Jun 2016 17:55:54 GMT
Repository: incubator-eagle
Updated Branches:
  refs/heads/branch-0.3.1 6e3f68c25 -> 6aeab62e1


EAGLE-294, 289 fix alert email format, default value
alert email prettify

Author: @pkuwm <hnlu@ebay.com>
Reviewer: @yonzhang <yonzhang2012@gmail.com>

Closes: 241


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

Branch: refs/heads/branch-0.3.1
Commit: 6aeab62e15c5baabb37980b2107004b01f7e9bf5
Parents: 6e3f68c
Author: yonzhang <yonzhang2012@gmail.com>
Authored: Thu Jun 16 10:58:28 2016 -0700
Committer: yonzhang <yonzhang2012@gmail.com>
Committed: Thu Jun 16 10:58:28 2016 -0700

----------------------------------------------------------------------
 eagle-assembly/pom.xml                          |   2 +-
 eagle-core/eagle-alert/eagle-alert-base/pom.xml |   2 +-
 .../eagle-alert-notification-plugin/pom.xml     |   4 +-
 .../notification/email/AlertEmailGenerator.java |  26 +-
 .../notification/email/AlertEmailSender.java    |  49 +++-
 .../src/main/resources/ALERT_DEFAULT.vm         |  53 ++--
 .../eagle-alert/eagle-alert-process/pom.xml     |   2 +-
 .../siddhi/SiddhiAlertAPIEntityRender.java      |  16 +-
 .../src/main/resources/ALERT_DEFAULT.vm         | 266 -------------------
 .../eagle-alert/eagle-alert-service/pom.xml     |   2 +-
 eagle-core/eagle-alert/pom.xml                  |   2 +-
 .../eagle-data-process/eagle-job-common/pom.xml |   2 +-
 .../eagle-storm-jobrunning-spout/pom.xml        |   2 +-
 .../eagle-stream-pipeline/pom.xml               |   2 +-
 .../eagle-stream-process-api/pom.xml            |   2 +-
 .../eagle-stream-process-base/pom.xml           |   4 +-
 eagle-core/eagle-data-process/pom.xml           |   4 +-
 .../eagle-embed/eagle-embed-hbase/pom.xml       |   2 +-
 .../eagle-embed/eagle-embed-server/pom.xml      |   2 +-
 eagle-core/eagle-embed/pom.xml                  |   4 +-
 .../eagle-machinelearning-base/pom.xml          |   4 +-
 eagle-core/eagle-machinelearning/pom.xml        |   4 +-
 eagle-core/eagle-metric/pom.xml                 |   2 +-
 .../eagle-policy/eagle-policy-base/pom.xml      |   2 +-
 .../apache/eagle/policy/common/Constants.java   |   1 +
 .../policy/siddhi/SiddhiPolicyEvaluator.java    |  57 ++--
 eagle-core/eagle-policy/pom.xml                 |   4 +-
 eagle-core/eagle-query/eagle-antlr/pom.xml      |   4 +-
 eagle-core/eagle-query/eagle-audit-base/pom.xml |   4 +-
 .../eagle-query/eagle-client-base/pom.xml       |   2 +-
 eagle-core/eagle-query/eagle-common/pom.xml     |   2 +-
 .../eagle/common/email/EagleMailClient.java     |  21 +-
 .../eagle-query/eagle-entity-base/pom.xml       |   2 +-
 eagle-core/eagle-query/eagle-query-base/pom.xml |   4 +-
 .../eagle-query/eagle-service-base/pom.xml      |   4 +-
 .../eagle-query/eagle-storage-base/pom.xml      |   4 +-
 .../eagle-query/eagle-storage-hbase/pom.xml     |   4 +-
 .../eagle-query/eagle-storage-jdbc/pom.xml      |   2 +-
 eagle-core/eagle-query/pom.xml                  |   2 +-
 eagle-core/pom.xml                              |   4 +-
 eagle-examples/eagle-topology-example/pom.xml   |   4 +-
 eagle-examples/pom.xml                          |   2 +-
 eagle-external/eagle-log4jkafka/pom.xml         |   4 +-
 eagle-external/pom.xml                          |   4 +-
 eagle-gc/pom.xml                                |   2 +-
 eagle-hadoop-metric/pom.xml                     |   2 +-
 eagle-security/eagle-metric-collection/pom.xml  |   2 +-
 eagle-security/eagle-security-common/pom.xml    |   2 +-
 .../eagle-security-hbase-securitylog/pom.xml    |   4 +-
 eagle-security/eagle-security-hbase-web/pom.xml |   4 +-
 .../eagle-security-hdfs-auditlog/pom.xml        |   2 +-
 .../eagle-security-hdfs-securitylog/pom.xml     |   4 +-
 eagle-security/eagle-security-hdfs-web/pom.xml  |   2 +-
 eagle-security/eagle-security-hive-web/pom.xml  |   2 +-
 eagle-security/eagle-security-hive/pom.xml      |   2 +-
 .../eagle-security-userprofile/common/pom.xml   |   2 +-
 .../detection/pom.xml                           |   2 +-
 .../eagle-security-userprofile/pom.xml          |   4 +-
 .../eagle-security-userprofile/training/pom.xml |   4 +-
 eagle-security/pom.xml                          |   2 +-
 eagle-topology-assembly/pom.xml                 |   2 +-
 eagle-webservice/pom.xml                        |   2 +-
 pom.xml                                         |   2 +-
 63 files changed, 236 insertions(+), 407 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-assembly/pom.xml b/eagle-assembly/pom.xml
index 820dfe5..3516dd5 100644
--- a/eagle-assembly/pom.xml
+++ b/eagle-assembly/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-base/pom.xml b/eagle-core/eagle-alert/eagle-alert-base/pom.xml
index c1eaede..04ed11b 100644
--- a/eagle-core/eagle-alert/eagle-alert-base/pom.xml
+++ b/eagle-core/eagle-alert/eagle-alert-base/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-alert-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-notification-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-notification-plugin/pom.xml b/eagle-core/eagle-alert/eagle-alert-notification-plugin/pom.xml
index 272d70f..c7dec88 100644
--- a/eagle-core/eagle-alert/eagle-alert-notification-plugin/pom.xml
+++ b/eagle-core/eagle-alert/eagle-alert-notification-plugin/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-alert-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   </parent>
   <groupId>eagle</groupId>
   <artifactId>eagle-alert-notification-plugin</artifactId>
@@ -87,4 +87,4 @@
           <artifactId>hadoop-hdfs</artifactId>
       </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailGenerator.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailGenerator.java b/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailGenerator.java
index ddd3c96..b8cb913 100644
--- a/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailGenerator.java
+++ b/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailGenerator.java
@@ -23,6 +23,7 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.*;
 
+import org.apache.eagle.common.metric.AlertContext;
 import org.apache.eagle.policy.common.Constants;
 import org.apache.eagle.alert.entity.AlertAPIEntity;
 import com.typesafe.config.ConfigObject;
@@ -40,7 +41,8 @@ public class AlertEmailGenerator{
 
     private final static Logger LOG = LoggerFactory.getLogger(AlertEmailGenerator.class);
 
-    private final static long MAX_TIMEOUT_MS =60000;
+    private final static long MAX_TIMEOUT_MS = 60000;
+    private final static String EVENT_FIELDS_SPLITTER = ",";
 
     public boolean sendAlertEmail(AlertAPIEntity entity) {
         return sendAlertEmail(entity, recipients, null);
@@ -56,13 +58,16 @@ public class AlertEmailGenerator{
 
         AlertEmailComponent component = new AlertEmailComponent();
         component.setAlertContext(entity.getAlertContext());
+        AlertEmailComponent eventComponent = getEventComponent(entity.getAlertContext());
         List<AlertEmailComponent> components = new ArrayList<AlertEmailComponent>();
         components.add(component);
+        components.add(eventComponent);
         email.setComponents(components);
         if (entity.getAlertContext().getProperty(Constants.SUBJECT) != null) {
             email.setSubject(entity.getAlertContext().getProperty(Constants.SUBJECT));
+        } else {
+            email.setSubject(subject);
         }
-        else email.setSubject(subject);
         email.setVelocityTplFile(tplFile);
         email.setRecipients(recipients);
         email.setCc(cc);
@@ -74,7 +79,7 @@ public class AlertEmailGenerator{
 
         if(this.executorPool == null) throw new IllegalStateException("Invoking thread executor pool but it's is not set yet");
 
-        LOG.info("Sending email  in asynchronous to: "+recipients+", cc: "+cc);
+        LOG.info("Sending email in asynchronous to: " + recipients + ", cc: " + cc);
         Future future = this.executorPool.submit(thread);
         try {
             future.get(MAX_TIMEOUT_MS, TimeUnit.MILLISECONDS);
@@ -133,4 +138,19 @@ public class AlertEmailGenerator{
     public void setExecutorPool(ThreadPoolExecutor executorPool) {
         this.executorPool = executorPool;
     }
+
+    private AlertEmailComponent getEventComponent(AlertContext context) {
+        AlertContext eventFieldsContext = new AlertContext();
+        String eventFields = context.getProperty(Constants.ALERT_EVENT_FIELDS);
+        String[] fields = eventFields.split(EVENT_FIELDS_SPLITTER);
+
+        for (String key : fields) {
+            eventFieldsContext.addProperty(key, context.getProperty(key));
+        }
+
+        AlertEmailComponent component = new AlertEmailComponent();
+        component.setAlertContext(eventFieldsContext);
+
+        return component;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailSender.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailSender.java b/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailSender.java
index 2b18f1e..1d504ce 100644
--- a/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailSender.java
+++ b/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/java/org/apache/eagle/notification/email/AlertEmailSender.java
@@ -30,6 +30,7 @@ import org.apache.eagle.common.DateTimeUtil;
 import org.apache.eagle.common.email.EagleMailClient;
 import com.netflix.config.ConcurrentMapConfiguration;
 import com.typesafe.config.ConfigObject;
+import com.typesafe.config.ConfigValue;
 
 public class AlertEmailSender implements Runnable {
 
@@ -45,12 +46,21 @@ public class AlertEmailSender implements Runnable {
     private final static Logger LOG = LoggerFactory.getLogger(AlertEmailSender.class);
     private final static int MAX_RETRY_COUNT = 3;
 
-    private static final String MAIL_HOST = "mail.host";
+    private static final String MAIL_AUTH = "mail.smtp.auth";
+    private static final String MAIL_HOST = "mail.smtp.host";
     private static final String MAIL_PORT = "mail.smtp.port";
+    private static final String MAIL_USER = "mail.user";
+    private static final String MAIL_PASSWORD = "mail.password";
+    private static final String MAIL_TLS_ENABLE = "mail.smtp.starttls.enable";
     private static final String MAIL_DEBUG = "mail.debug";
 
+    private static final String CONF_KEY_MAIL_AUTH = "mailSmtpAuth";
     private static final String CONF_KEY_MAIL_HOST = "mailHost";
     private static final String CONF_KEY_MAIL_PORT = "mailSmtpPort";
+    private static final String CONF_KEY_MAIL_USER = "mailSmtpUser";
+    private static final String CONF_KEY_MAIL_PASSWORD = "mailSmtpPassword";
+    private static final String CONF_KEY_MAIL_SSL_ENABLE = "mailSmtpSslEnable";
+    private static final String CONF_KEY_MAIL_TLS_ENABLE = "mailSmtpTlsEnable";
     private static final String CONF_KEY_MAIL_DEBUG = "mailDebug";
 
     private ConfigObject eagleProps;
@@ -78,7 +88,8 @@ public class AlertEmailSender implements Runnable {
         String tmp = ManagementFactory.getRuntimeMXBean().getName();
         this.origin = tmp.split("@")[1] + "(pid:" + tmp.split("@")[0] + ")";
         threadName = Thread.currentThread().getName();
-        LOG.info("Initialized "+threadName+": origin is : " + this.origin+", recipient of the email: " + this.recipents+", velocity TPL file: " + this.configFileName);
+        LOG.info("Initialized " + threadName + ": origin is : " + this.origin + ", recipient of the email: "
+                + this.recipents + ", velocity TPL file: " + this.configFileName);
     }
 
     public AlertEmailSender(AlertEmailContext alertEmail, ConfigObject eagleProps){
@@ -91,25 +102,49 @@ public class AlertEmailSender implements Runnable {
         int count = 0;
         boolean success = false;
         while(count++ < MAX_RETRY_COUNT && !success){
-            LOG.info("Sending email, tried: " + count+", max: "+MAX_RETRY_COUNT);
+            LOG.info("Sending email, tried: " + count + ", max: " + MAX_RETRY_COUNT);
             try {
                 final EagleMailClient client;
                 if (eagleProps != null) {
                     ConcurrentMapConfiguration con = new ConcurrentMapConfiguration();
                     con.addProperty(MAIL_HOST, eagleProps.get(CONF_KEY_MAIL_HOST).unwrapped());
                     con.addProperty(MAIL_PORT, eagleProps.get(CONF_KEY_MAIL_PORT).unwrapped());
-                    if (eagleProps.get(CONF_KEY_MAIL_DEBUG) != null) {
-                        con.addProperty(MAIL_DEBUG, eagleProps.get(CONF_KEY_MAIL_DEBUG).unwrapped());
+
+                    // Add authentication for email.
+                    ConfigValue authValue = eagleProps.get(CONF_KEY_MAIL_AUTH);
+                    if (authValue != null && Boolean.parseBoolean(String.valueOf(authValue.unwrapped()))) {
+                        con.addProperty(MAIL_AUTH, authValue.unwrapped());
+                        con.addProperty(MAIL_USER, eagleProps.get(CONF_KEY_MAIL_USER).unwrapped());
+                        con.addProperty(MAIL_PASSWORD, eagleProps.get(CONF_KEY_MAIL_PASSWORD).unwrapped());
+
+                        // Via SSL.
+                        ConfigValue sslValue = eagleProps.get(CONF_KEY_MAIL_SSL_ENABLE);
+                        if (sslValue != null && Boolean.parseBoolean(String.valueOf(sslValue.unwrapped()))) {
+                            con.addProperty("mail.smtp.socketFactory.port", "465");
+                            con.addProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
+                        }
+
+                        // Via TLS.
+                        ConfigValue tlsValue = eagleProps.get(CONF_KEY_MAIL_TLS_ENABLE);
+                        if (tlsValue != null && Boolean.parseBoolean(String.valueOf(tlsValue.unwrapped()))) {
+                            con.addProperty(MAIL_TLS_ENABLE, tlsValue.unwrapped());
+                        }
+                    }
+
+                    ConfigValue debugValue = eagleProps.get(CONF_KEY_MAIL_DEBUG);
+                    if (debugValue != null && Boolean.parseBoolean(String.valueOf(debugValue.unwrapped()))) {
+                        con.addProperty(MAIL_DEBUG, debugValue.unwrapped());
                     }
+
                     client = new EagleMailClient(con);
-                }
-                else {
+                } else {
                     client = new EagleMailClient();
                 }
                 String env = "prod";
                 if (eagleProps != null && eagleProps.get("env") != null) {
                     env = (String) eagleProps.get("env").unwrapped();
                 }
+
                 LOG.info("Env is: " + env);
                 final VelocityContext context = new VelocityContext();
                 generateCommonContext(context);

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/resources/ALERT_DEFAULT.vm
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/resources/ALERT_DEFAULT.vm b/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/resources/ALERT_DEFAULT.vm
index 887d759..2900afb 100644
--- a/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/resources/ALERT_DEFAULT.vm
+++ b/eagle-core/eagle-alert/eagle-alert-notification-plugin/src/main/resources/ALERT_DEFAULT.vm
@@ -113,20 +113,18 @@
 	</head>
 	<body>
 		#set ( $elem = $alertList[0] )
+		#set ( $eventFields = $alertList[1] )
 		#set ( $alertUrl = $elem["alertDetailUrl"] )
 		#set ( $policyUrl = $elem["policyDetailUrl"] )
-		<table class="body">
+		<table class="body" width="90%">
 			<tr>
 				<td align="center" valign="top" style="background: #999999; padding: 0 0 0 0;">
 					<!-- Eagle Header -->
-					<table width="580">
+					<table width="90%">
 						<tr>
 							<td style="padding: 0 0 0 0;" align="left" >
 								<p style="color:#FFFFFF;font-weight: bold; font-size: 24px">Eagle</p>
 							</td>
-							<td style="padding: 0 0 0 0;" align="right">
-								<p style="color:#FFFFFF;font-weight: bold;">DAM Alert</p>
-							</td>
 						</tr>
 					</table>
 				</td>
@@ -135,17 +133,17 @@
 			<tr>
 				<td align="center" valign="top">
 					<!-- Eagle Body -->
-					<table width="580">
+					<table width="90%">
 						<tr>
 							<!-- Title -->
 							<td align="center">
-								<h1>Malicious Data Operation Detected</h1>
+								<h1>$elem["dataSource"] Alert Detected</h1>
 							</td>
 						</tr>
 						<tr>
 							<!-- Time -->
 							<td>
-								<table width="580">
+								<table width="100%">
 									<tr>
 										<td>
 											<p><b>Detected Time: $elem["alertTimestamp"]</b></p>
@@ -168,16 +166,27 @@
 								</table>
 							</td>
 						</tr>
-						<tr>
-							<!-- Description -->
-							<td valign="top" style="background: #ECF8FF; border: 1px solid #b9e5ff; padding: 10px 10px 12px 10px;">
-								<p>$elem["alertMessage"]</p>
-							</td>
-						</tr>
+						<!-- Description -->
+                        <tr>
+                            <td>
+                                <table class="tableBordered" width="100%%">
+                                    #foreach ($key in $eventFields.keySet())
+                                    <tr>
+                                        <th>
+                                            <p>$key</p>
+                                        </th>
+                                        <td>
+                                            $eventFields.get($key)
+                                        </td>
+                                    </tr>
+                                    #end
+                                </table>
+                            </td>
+                        </tr>
 						<tr>
 							<!-- View Detail -->
 							<td align="center" style="padding: 10px 0 0 0;">
-								<table width="580">
+								<table width="100%">
 									<tr>
 										<td class="btn">
 											<a href="$alertUrl">View Alert Details on Eagle Web</a>
@@ -195,7 +204,7 @@
 						<tr>
 							<!-- Basic Information Content -->
 							<td>
-								<table class="tableBordered" width="580">
+								<table class="tableBordered" width="100%">
 									<tr>
 										<th>
 											<p>Site</p>
@@ -214,9 +223,6 @@
 									</tr>
 									<tr>
 										<th>
-											<p>Alert Type</p>
-										</th>
-										<th>
 											<p>Policy Name</p>
 										</th>
 										<th>
@@ -225,9 +231,6 @@
 									</tr>
 									<tr>
 										<td>
-											<p>DAM Alert</p>
-										</td>									
-										<td>
 											<p>$elem["policyId"]</p>
 										</td>
 										<td>
@@ -240,7 +243,7 @@
 						<tr>
 							<!-- View Detail -->
 							<td align="center" style="padding: 10px 0 0 0;">
-								<table width="580">
+								<table width="100%%">
 									<tr>
 										<td class="btn">
 											<a href="$policyUrl">View Policy Details on Eagle Web</a>
@@ -258,13 +261,13 @@
 						<tr>
 							<!-- Possible Root Causes Content -->
 							<td class="panel" valign="top" style="background: #F4F4F4; border: 1px solid #AAAAAA; padding: 10px 10px 12px 10px;">
-								<p> Malicious data operation found, please check.</p>
+								<p> $elem["dataSource"] alert found, please check.</p>
 							</td>
 						</tr>
 						<tr>
 							<!-- Copyright -->
 							<td align="center">
-								<p><a href="http://<Eagle-Host>/alerts/alertlist.html">Apache Eagle</a></p>
+								<p><a href="https://eagle.incubator.apache.org">Apache Eagle</a></p>
 							</td>
 						</tr>
 					</table>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-process/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-process/pom.xml b/eagle-core/eagle-alert/eagle-alert-process/pom.xml
index 510b076..654b5f3 100644
--- a/eagle-core/eagle-alert/eagle-alert-process/pom.xml
+++ b/eagle-core/eagle-alert/eagle-alert-process/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>eagle</groupId>
         <artifactId>eagle-alert-parent</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 	<packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-process/src/main/java/org/apache/eagle/alert/siddhi/SiddhiAlertAPIEntityRender.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-process/src/main/java/org/apache/eagle/alert/siddhi/SiddhiAlertAPIEntityRender.java b/eagle-core/eagle-alert/eagle-alert-process/src/main/java/org/apache/eagle/alert/siddhi/SiddhiAlertAPIEntityRender.java
index 254d84c..0d346d1 100644
--- a/eagle-core/eagle-alert/eagle-alert-process/src/main/java/org/apache/eagle/alert/siddhi/SiddhiAlertAPIEntityRender.java
+++ b/eagle-core/eagle-alert/eagle-alert-process/src/main/java/org/apache/eagle/alert/siddhi/SiddhiAlertAPIEntityRender.java
@@ -73,20 +73,29 @@ public class SiddhiAlertAPIEntityRender implements ResultRender<AlertDefinitionA
 		}
 
 		StringBuilder sb = new StringBuilder();
+		StringBuilder keysSb = new StringBuilder();
+		String prefix = "";
 		for (Entry<String, String> entry : context.getProperties().entrySet()) {
 			String key = entry.getKey();
 			String value = entry.getValue();
-			sb.append(key + "=\"" + value + "\" ");			
+			sb.append(key).append("=\"").append(value).append("\" ");
+
+			keysSb.append(prefix).append(key);
+			prefix = ",";
 		}
+
+		String alertEventFields = keysSb.toString();
+		String alertEvent = sb.toString();
 		context.addAll(evaluator.getAdditionalContext());
 		String policyId = context.getProperty(Constants.POLICY_ID);
-		String alertMessage = "The Policy \"" + policyId + "\" has been detected with the below information: " + sb.toString() ;
+		String alertMessage = "The Policy \"" + policyId + "\" has been detected with the below information: " + alertEvent;
 		String site = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.SITE);
 		String dataSource = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.DATA_SOURCE);
 		String host = config.getString(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.HOST);
 		Integer port = config.getInt(EagleConfigConstants.EAGLE_PROPS + "." + EagleConfigConstants.EAGLE_SERVICE + "." + EagleConfigConstants.PORT);
 
-		context.addProperty(Constants.ALERT_EVENT, sb.toString());
+		context.addProperty(Constants.ALERT_EVENT, alertEvent);
+		context.addProperty(Constants.ALERT_EVENT_FIELDS, alertEventFields);
 		context.addProperty(Constants.ALERT_MESSAGE, alertMessage);
 		context.addProperty(Constants.ALERT_TIMESTAMP_PROPERTY, DateTimeUtil.millisecondsToHumanDateWithSeconds(System.currentTimeMillis()));
 		context.addProperty(EagleConfigConstants.DATA_SOURCE, dataSource);
@@ -104,6 +113,7 @@ public class SiddhiAlertAPIEntityRender implements ResultRender<AlertDefinitionA
 		context.addProperty(Constants.POLICY_DETAIL_URL, UrlBuilder.buiildPolicyDetailUrl(host, port, tags));
 		context.addProperty(Constants.ALERT_DETAIL_URL, UrlBuilder.buildAlertDetailUrl(host, port, entity));
 		entity.setAlertContext(context);
+
 		return entity;
 	}	
 }

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-process/src/main/resources/ALERT_DEFAULT.vm
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-process/src/main/resources/ALERT_DEFAULT.vm b/eagle-core/eagle-alert/eagle-alert-process/src/main/resources/ALERT_DEFAULT.vm
deleted file mode 100644
index ca0f79c..0000000
--- a/eagle-core/eagle-alert/eagle-alert-process/src/main/resources/ALERT_DEFAULT.vm
+++ /dev/null
@@ -1,266 +0,0 @@
-<!--
-  ~ 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.
-  -->
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-	<head>
-		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-		<meta name="viewport" content="width=device-width"/>
-		<style>
-			body {
-				width:100% !important;
-				min-width: 100%;
-				-webkit-text-size-adjust:100%;
-				-ms-text-size-adjust:100%;
-				margin:0;
-				padding:0;
-			}
-
-			table {
-				border-spacing: 0;
-				border-collapse: collapse;
-			}
-
-			table th,
-			table td {
-				padding: 3px 0 3px 0;
-			}
-
-			.body {
-				width: 100%;
-			}
-
-			p,a,h1,h2,h3,ul,ol,li {
-				font-family: Helvetica, Arial, sans-serif;
-				font-weight: normal;
-				margin: 0;
-				padding: 0;
-			}
-			p {
-				font-size: 14px;
-				line-height: 19px;
-			}
-			a {
-				color: #3294b1;
-			}
-			h1 {
-				font-size: 36px;
-				margin: 15px 0 5px 0;
-			}
-			h2 {
-				font-size: 32px;
-			}
-			h3 {
-				font-size: 28px;
-			}
-
-			ul,ol {
-				margin: 0 0 0 25px;
-				padding: 0;
-			}
-
-			.btn {
-				background: #2ba6cb !important;
-				border: 1px solid #2284a1;
-				padding: 10px 20px 10px 20px;
-				text-align: center;
-			}
-			.btn:hover {
-				background: #2795b6 !important;
-			}
-			.btn a {
-				color: #FFFFFF;
-				text-decoration: none;
-				font-weight: bold;
-				padding: 10px 20px 10px 20px;
-			}
-
-			.tableBordered {
-				border-top: 1px solid #b9e5ff;
-			}
-			.tableBordered th {
-				background: #ECF8FF;
-			}
-			.tableBordered th p {
-				font-weight: bold;
-				color: #3294b1;
-			}
-			.tableBordered th,
-			.tableBordered td {
-				color: #333333;
-				border-bottom: 1px solid #b9e5ff;
-				text-align: center;
-				padding-bottom: 5px;
-			}
-
-			.panel {
-				height: 100px;
-			}
-		</style>
-	</head>
-	<body>
-		#set ( $elem = $alertList[0] )
-		#set ( $alertUrl = $elem["alertDetailUrl"] )
-		#set ( $policyUrl = $elem["policyDetailUrl"] )
-		<table class="body">
-			<tr>
-				<td align="center" valign="top" style="background: #999999; padding: 0 0 0 0;">
-					<!-- Eagle Header -->
-					<table width="580">
-						<tr>
-							<td style="padding: 0 0 0 0;" align="left" >
-								<p style="color:#FFFFFF;font-weight: bold; font-size: 24px">Eagle</p>
-							</td>
-						</tr>
-					</table>
-				</td>
-			</tr>
-
-			<tr>
-				<td align="center" valign="top">
-					<!-- Eagle Body -->
-					<table width="580">
-						<tr>
-							<!-- Title -->
-							<td align="center">
-								<h1>$elem["dataSource"] Alert Detected</h1>
-							</td>
-						</tr>
-						<tr>
-							<!-- Time -->
-							<td>
-								<table width="580">
-									<tr>
-										<td>
-											<p><b>Detected Time: $elem["alertTimestamp"]</b></p>
-										</td>
-										#set ( $severity = $elem["severity"] )
-										#if (!$severity || ("$severity" == ""))
-											#set ( $elem["severity"] = "WARNING")
-										#end
-										<td align="right">
-											<p><b>
-												Severity:
-									            #if ($elem["severity"] == "WARNING")
-													<span>$elem["severity"]</span>												
-    											#else
-													<span style="color: #FF0000;">$elem["severity"]</span>
-    											#end
-											</b></p>
-										</td>
-									</tr>
-								</table>
-							</td>
-						</tr>
-						<tr>
-							<!-- Description -->
-							<td valign="top" style="background: #ECF8FF; border: 1px solid #b9e5ff; padding: 10px 10px 12px 10px;">
-								<p>$elem["alertMessage"]</p>
-							</td>
-						</tr>
-						<tr>
-							<!-- View Detail -->
-							<td align="center" style="padding: 10px 0 0 0;">
-								<table width="580">
-									<tr>
-										<td class="btn">
-											<a href="$alertUrl">View Alert Details on Eagle Web</a>
-										</td>
-									</tr>
-								</table>
-							</td>
-						</tr>
-						<tr>
-							<!-- Basic Information -->
-							<td style="padding: 20px 0 0 0;">
-								<p><b>Basic Information:</b></p>
-							</td>
-						</tr>
-						<tr>
-							<!-- Basic Information Content -->
-							<td>
-								<table class="tableBordered" width="580">
-									<tr>
-										<th>
-											<p>Site</p>
-										</th>
-										<th>
-											<p>Data Source</p>
-										</th>
-									</tr>
-									<tr>
-										<td>
-											<p>$elem["site"]</p>
-										</td>
-										<td>
-											<p>$elem["dataSource"]</p>
-										</td>
-									</tr>
-									<tr>
-										<th>
-											<p>Policy Name</p>
-										</th>
-										<th>
-											<p>Severity</p>
-										</th>
-									</tr>
-									<tr>
-										<td>
-											<p>$elem["policyId"]</p>
-										</td>
-										<td>
-											<p>$elem["severity"]</p>
-										</td>
-									</tr>
-								</table>
-							</td>
-						</tr>
-						<tr>
-							<!-- View Detail -->
-							<td align="center" style="padding: 10px 0 0 0;">
-								<table width="580">
-									<tr>
-										<td class="btn">
-											<a href="$policyUrl">View Policy Details on Eagle Web</a>
-										</td>
-									</tr>
-								</table>
-							</td>
-						</tr>						
-						<tr>
-							<!-- Actions Required -->
-							<td style="padding: 20px 0 0 0;">
-								<p><b>Actions Required:</b></p>
-							</td>
-						</tr>
-						<tr>
-							<!-- Possible Root Causes Content -->
-							<td class="panel" valign="top" style="background: #F4F4F4; border: 1px solid #AAAAAA; padding: 10px 10px 12px 10px;">
-								<p> $elem["dataSource"] alert found, please check.</p>
-							</td>
-						</tr>
-						<tr>
-							<!-- Copyright -->
-							<td align="center">
-								<p><a href="<Eagle-Host>/alerts/alertlist.html">Apache Eagle</a></p>
-							</td>
-						</tr>
-					</table>
-				</td>
-			</tr>
-		</table>
-	</body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/eagle-alert-service/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/eagle-alert-service/pom.xml b/eagle-core/eagle-alert/eagle-alert-service/pom.xml
index 8695ba9..f9dd722 100644
--- a/eagle-core/eagle-alert/eagle-alert-service/pom.xml
+++ b/eagle-core/eagle-alert/eagle-alert-service/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-alert-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-alert/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert/pom.xml b/eagle-core/eagle-alert/pom.xml
index 4269bfa..1a0f1e8 100644
--- a/eagle-core/eagle-alert/pom.xml
+++ b/eagle-core/eagle-alert/pom.xml
@@ -21,7 +21,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-core</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-data-process/eagle-job-common/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-data-process/eagle-job-common/pom.xml b/eagle-core/eagle-data-process/eagle-job-common/pom.xml
index 1b9f708..37b2c91 100644
--- a/eagle-core/eagle-data-process/eagle-job-common/pom.xml
+++ b/eagle-core/eagle-data-process/eagle-job-common/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-data-process-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-job-common</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-data-process/eagle-storm-jobrunning-spout/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-data-process/eagle-storm-jobrunning-spout/pom.xml b/eagle-core/eagle-data-process/eagle-storm-jobrunning-spout/pom.xml
index 555b646..5341022 100644
--- a/eagle-core/eagle-data-process/eagle-storm-jobrunning-spout/pom.xml
+++ b/eagle-core/eagle-data-process/eagle-storm-jobrunning-spout/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-data-process-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-storm-jobrunning-spout</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-data-process/eagle-stream-pipeline/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-data-process/eagle-stream-pipeline/pom.xml b/eagle-core/eagle-data-process/eagle-stream-pipeline/pom.xml
index 5d54cf2..a3912f3 100644
--- a/eagle-core/eagle-data-process/eagle-stream-pipeline/pom.xml
+++ b/eagle-core/eagle-data-process/eagle-stream-pipeline/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>eagle-data-process-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <artifactId>eagle-stream-pipeline</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-data-process/eagle-stream-process-api/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-data-process/eagle-stream-process-api/pom.xml b/eagle-core/eagle-data-process/eagle-stream-process-api/pom.xml
index e75a4cd..4c7b426 100644
--- a/eagle-core/eagle-data-process/eagle-stream-process-api/pom.xml
+++ b/eagle-core/eagle-data-process/eagle-stream-process-api/pom.xml
@@ -21,7 +21,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-data-process-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
       <relativePath>../pom.xml</relativePath>
   </parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-data-process/eagle-stream-process-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-data-process/eagle-stream-process-base/pom.xml b/eagle-core/eagle-data-process/eagle-stream-process-base/pom.xml
index c6c5bcf..60515ee 100644
--- a/eagle-core/eagle-data-process/eagle-stream-process-base/pom.xml
+++ b/eagle-core/eagle-data-process/eagle-stream-process-base/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>eagle</groupId>
         <artifactId>eagle-data-process-parent</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -127,4 +127,4 @@
         </plugin>
     </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-data-process/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-data-process/pom.xml b/eagle-core/eagle-data-process/pom.xml
index 4eff166..f469362 100644
--- a/eagle-core/eagle-data-process/pom.xml
+++ b/eagle-core/eagle-data-process/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>eagle</groupId>
         <artifactId>eagle-core</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <artifactId>eagle-data-process-parent</artifactId>
     <packaging>pom</packaging>
@@ -33,4 +33,4 @@
         <module>eagle-stream-process-api</module>
         <module>eagle-stream-pipeline</module>
     </modules>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-embed/eagle-embed-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-hbase/pom.xml b/eagle-core/eagle-embed/eagle-embed-hbase/pom.xml
index 058da7d..3bf5a12 100644
--- a/eagle-core/eagle-embed/eagle-embed-hbase/pom.xml
+++ b/eagle-core/eagle-embed/eagle-embed-hbase/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-embed-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-embed/eagle-embed-server/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/eagle-embed-server/pom.xml b/eagle-core/eagle-embed/eagle-embed-server/pom.xml
index d808ac9..2abecd8 100644
--- a/eagle-core/eagle-embed/eagle-embed-server/pom.xml
+++ b/eagle-core/eagle-embed/eagle-embed-server/pom.xml
@@ -22,7 +22,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-embed-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>eagle-embed-server</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-embed/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-embed/pom.xml b/eagle-core/eagle-embed/pom.xml
index a2201c8..022af8e 100644
--- a/eagle-core/eagle-embed/pom.xml
+++ b/eagle-core/eagle-embed/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-core</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -34,4 +34,4 @@
         <module>eagle-embed-hbase</module>
         <module>eagle-embed-server</module>
     </modules>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-machinelearning/eagle-machinelearning-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-machinelearning/eagle-machinelearning-base/pom.xml b/eagle-core/eagle-machinelearning/eagle-machinelearning-base/pom.xml
index 6698fa9..23c91d2 100644
--- a/eagle-core/eagle-machinelearning/eagle-machinelearning-base/pom.xml
+++ b/eagle-core/eagle-machinelearning/eagle-machinelearning-base/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-machinelearning-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-machinelearning-base</artifactId>
@@ -35,4 +35,4 @@
     	<version>${project.version}</version>
     </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-machinelearning/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-machinelearning/pom.xml b/eagle-core/eagle-machinelearning/pom.xml
index 6491eb3..52f52ba 100644
--- a/eagle-core/eagle-machinelearning/pom.xml
+++ b/eagle-core/eagle-machinelearning/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-core</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -32,4 +32,4 @@
     <modules>
         <module>eagle-machinelearning-base</module>
     </modules>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-metric/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-metric/pom.xml b/eagle-core/eagle-metric/pom.xml
index dca8975..436941f 100644
--- a/eagle-core/eagle-metric/pom.xml
+++ b/eagle-core/eagle-metric/pom.xml
@@ -22,7 +22,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-core</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-policy/eagle-policy-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-policy/eagle-policy-base/pom.xml b/eagle-core/eagle-policy/eagle-policy-base/pom.xml
index 02e5b9c..2f58352 100644
--- a/eagle-core/eagle-policy/eagle-policy-base/pom.xml
+++ b/eagle-core/eagle-policy/eagle-policy-base/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>eagle</groupId>
         <artifactId>eagle-policy-parent</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/common/Constants.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/common/Constants.java b/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/common/Constants.java
index ca65669..35db2be 100644
--- a/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/common/Constants.java
+++ b/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/common/Constants.java
@@ -49,6 +49,7 @@ public class Constants {
 	public static final String POLICY_ID = "policyId";
     public static final String SOURCE_STREAMS = "sourceStreams";
     public static final String ALERT_EVENT = "alertEvent";
+	public static final String ALERT_EVENT_FIELDS = "alertEventFields";
 	public static final String POLICY_DETAIL_URL = "policyDetailUrl";
 	public static final String ALERT_DETAIL_URL = "alertDetailUrl";
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/siddhi/SiddhiPolicyEvaluator.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/siddhi/SiddhiPolicyEvaluator.java b/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/siddhi/SiddhiPolicyEvaluator.java
index 1929b16..31a47b2 100644
--- a/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/siddhi/SiddhiPolicyEvaluator.java
+++ b/eagle-core/eagle-policy/eagle-policy-base/src/main/java/org/apache/eagle/policy/siddhi/SiddhiPolicyEvaluator.java
@@ -203,17 +203,25 @@ public class SiddhiPolicyEvaluator<T extends AbstractPolicyDefinitionEntity, K>
     @Override
     public void evaluate(ValuesArray data) throws Exception {
         if (!siddhiRuntime.markdownEnabled) {
-            if (LOG.isDebugEnabled()) LOG.debug("Siddhi policy evaluator consumers data :" + data);
+            if (LOG.isDebugEnabled()) {
+                LOG.debug("Siddhi policy evaluator consumers data :" + data);
+            }
             Collector outputCollector = (Collector) data.get(0);
             String streamName = (String) data.get(1);
-            SortedMap map = (SortedMap) data.get(2);
-            validateEventInRuntime(streamName, map);
+            SortedMap dataMap = (SortedMap) data.get(2);
+
+            // Get metadata keyset for the stream.
+            Set<String> metadataKeys = StreamMetadataManager.getInstance()
+                    .getMetadataEntityMapForStream(streamName).keySet();
+
+            validateEventInRuntime(streamName, dataMap, metadataKeys);
+
             synchronized (siddhiRuntime) {
                 // retain the collector in the context. This assignment is idempotent
                 context.outputCollector = outputCollector;
 
-                List<Object> input = new ArrayList<>();
-                putAttrsIntoInputStream(input, streamName, map);
+                List<Object> input = new ArrayList<Object>();
+                putAttrsIntoInputStream(input, streamName, metadataKeys, dataMap);
                 siddhiRuntime.siddhiInputHandlers.get(streamName).send(input.toArray(new Object[0]));
             }
         }
@@ -228,28 +236,41 @@ public class SiddhiPolicyEvaluator<T extends AbstractPolicyDefinitionEntity, K>
      * @param data         input event
      * @see <a href="https://issues.apache.org/jira/browse/EAGLE-49">https://issues.apache.org/jira/browse/EAGLE-49</a>
      */
-    private void validateEventInRuntime(String sourceStream, SortedMap data) {
-        if (!needValidation)
+    private void validateEventInRuntime(String sourceStream, SortedMap data, Set<String> metadataKeys) {
+        if (!needValidation) {
             return;
-        SortedMap<String, AlertStreamSchemaEntity> map = StreamMetadataManager.getInstance().getMetadataEntityMapForStream(sourceStream);
-        if (!map.keySet().equals(data.keySet())) {
+        }
+
+        if (!metadataKeys.equals(data.keySet())) {
             Set<Object> badKeys = new TreeSet<>();
-            for (Object key : data.keySet()) if (!map.containsKey(key)) badKeys.add(key);
-            LOG.warn(String.format("Ignore invalid fields %s in event: %s from stream: %s, valid fields are: %s", badKeys.toString(), data.toString(), sourceStream, map.keySet().toString()));
-            for (Object key : badKeys) data.remove(key);
+            for (Object key : data.keySet()) {
+                if (!metadataKeys.contains(key)) {
+                    badKeys.add(key);
+                }
+            }
+            LOG.warn(String.format("Ignore invalid fields %s in event: %s from stream: %s, valid fields are: %s",
+                    badKeys.toString(), data.toString(), sourceStream, metadataKeys.toString()));
+
+            for (Object key : badKeys) {
+                data.remove(key);
+            }
         }
     }
 
-    private void putAttrsIntoInputStream(List<Object> input, String streamName, SortedMap map) {
+    private void putAttrsIntoInputStream(List<Object> input, String streamName, Set<String> metadataKeys, SortedMap dataMap) {
         if (!needValidation) {
-            input.addAll(map.values());
+            input.addAll(dataMap.values());
             return;
         }
-        for (Object key : map.keySet()) {
-            Object value = map.get(key);
+
+        // If a metadata field is not set, we put null for the field's value.
+        for (String key : metadataKeys) {
+            Object value = dataMap.get(key);
             if (value == null) {
-                input.add(SiddhiStreamMetadataUtils.getAttrDefaultValue(streamName, (String) key));
-            } else input.add(value);
+                input.add(SiddhiStreamMetadataUtils.getAttrDefaultValue(streamName, key));
+            } else {
+                input.add(value);
+            }
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-policy/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-policy/pom.xml b/eagle-core/eagle-policy/pom.xml
index 81e3489..5dcbd31 100644
--- a/eagle-core/eagle-policy/pom.xml
+++ b/eagle-core/eagle-policy/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>eagle</groupId>
         <artifactId>eagle-core</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -34,4 +34,4 @@
         <module>eagle-policy-base</module>
     </modules>
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-antlr/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-antlr/pom.xml b/eagle-core/eagle-query/eagle-antlr/pom.xml
index c5f9743..c80c787 100644
--- a/eagle-core/eagle-query/eagle-antlr/pom.xml
+++ b/eagle-core/eagle-query/eagle-antlr/pom.xml
@@ -21,7 +21,7 @@
   <parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-query-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
       <relativePath>../pom.xml</relativePath>
   </parent>
 
@@ -39,4 +39,4 @@
 		  <artifactId>commons-lang</artifactId>
 	  </dependency>
   </dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-audit-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-audit-base/pom.xml b/eagle-core/eagle-query/eagle-audit-base/pom.xml
index df09b03..221ed39 100755
--- a/eagle-core/eagle-query/eagle-audit-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-audit-base/pom.xml
@@ -24,7 +24,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-query-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 
@@ -48,4 +48,4 @@
 
 	</dependencies>
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/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 dcc92b8..91a048b 100644
--- a/eagle-core/eagle-query/eagle-client-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-client-base/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-query-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-common/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/pom.xml b/eagle-core/eagle-query/eagle-common/pom.xml
index 9c7faab..38522c4 100644
--- a/eagle-core/eagle-query/eagle-common/pom.xml
+++ b/eagle-core/eagle-query/eagle-common/pom.xml
@@ -23,7 +23,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-query-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
index e647a2f..6edac0a 100755
--- a/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
+++ b/eagle-core/eagle-query/eagle-common/src/main/java/org/apache/eagle/common/email/EagleMailClient.java
@@ -58,7 +58,7 @@ public class EagleMailClient {
 	private static final String AUTH_CONFIG = "mail.smtp.auth";
 	private static final String DEBUG_CONFIG = "mail.debug";
 	private static final String USER_CONFIG = "mail.user";
-	private static final String PWD_CONFIG = "mail.pwd";
+	private static final String PASSWORD_CONFIG = "mail.password";
 
 	private VelocityEngine velocityEngine;
 	private Session session;
@@ -67,7 +67,7 @@ public class EagleMailClient {
 	public EagleMailClient() {
 		this(new ConcurrentMapConfiguration());
 	}
-	
+
 	public EagleMailClient(AbstractConfiguration configuration) {
 		try {
 			ConcurrentMapConfiguration con = (ConcurrentMapConfiguration)configuration;
@@ -81,13 +81,13 @@ public class EagleMailClient {
 			if(Boolean.parseBoolean(config.getProperty(AUTH_CONFIG))){
 				session = Session.getDefaultInstance(config, new Authenticator() {
 					protected PasswordAuthentication getPasswordAuthentication() {
-						return new PasswordAuthentication(config.getProperty(USER_CONFIG), config.getProperty(PWD_CONFIG));
+						return new PasswordAuthentication(config.getProperty(USER_CONFIG), config.getProperty(PASSWORD_CONFIG));
 					}
 				});
 			}
 			else session = Session.getDefaultInstance(config, new Authenticator() {});
-			final String debugMode =  config.getProperty(DEBUG_CONFIG, "false");
-			final boolean debug =  Boolean.parseBoolean(debugMode);
+			final String debugMode = config.getProperty(DEBUG_CONFIG, "false");
+			final boolean debug = Boolean.parseBoolean(debugMode);
 			session.setDebug(debug);
 		} catch (Exception e) {
             LOG.error("Failed connect to smtp server",e);
@@ -111,7 +111,9 @@ public class EagleMailClient {
 			//msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(DEFAULT_BCC_ADDRESS));
 			msg.setContent(content, "text/html;charset=utf-8");
 			LOG.info(String.format("Going to send mail: from[%s], to[%s], cc[%s], title[%s]", from, to, cc, title));
+
 			Transport.send(msg);
+
 			return true;
 		} catch (AddressException e) {
 			LOG.info("Send mail failed, got an AddressException: " + e.getMessage(), e);
@@ -123,7 +125,7 @@ public class EagleMailClient {
 	}
 
 	private boolean _send(String from,String to,String cc,String title,String content,List<MimeBodyPart> attachments){
-		MimeMessage  mail = new MimeMessage(session);
+		MimeMessage mail = new MimeMessage(session);
 		try {
 			mail.setFrom(new InternetAddress(from));
 			mail.setSubject(title);
@@ -135,13 +137,13 @@ public class EagleMailClient {
 				mail.setRecipients(Message.RecipientType.CC,
 						InternetAddress.parse(cc));
 			}
-			
+
 			//mail.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(DEFAULT_BCC_ADDRESS));
 
 			MimeBodyPart mimeBodyPart = new MimeBodyPart();
 			mimeBodyPart.setContent(content,"text/html;charset=utf-8");
 
-			Multipart  multipart = new MimeMultipart();
+			Multipart multipart = new MimeMultipart();
 			multipart.addBodyPart(mimeBodyPart);
 
 			for(MimeBodyPart attachment:attachments){
@@ -151,7 +153,9 @@ public class EagleMailClient {
 			mail.setContent(multipart);
 //			mail.setContent(content, "text/html;charset=utf-8");
 			LOG.info(String.format("Going to send mail: from[%s], to[%s], cc[%s], title[%s]", from, to, cc, title));
+
 			Transport.send(mail);
+
 			return true;
 		} catch (AddressException e) {
 			LOG.info("Send mail failed, got an AddressException: " + e.getMessage(), e);
@@ -173,6 +177,7 @@ public class EagleMailClient {
 		try {
 			t = velocityEngine.getTemplate(BASE_PATH + templatePath);
 		} catch (ResourceNotFoundException ex) {
+
 		}
 		if (t == null) {
 			try {

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/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 6df5fca..448aac8 100755
--- a/eagle-core/eagle-query/eagle-entity-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-entity-base/pom.xml
@@ -22,7 +22,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-query-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-query-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-query-base/pom.xml b/eagle-core/eagle-query/eagle-query-base/pom.xml
index 921965e..80c8aa9 100644
--- a/eagle-core/eagle-query/eagle-query-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-query-base/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-query-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -41,4 +41,4 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-service-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-service-base/pom.xml b/eagle-core/eagle-query/eagle-service-base/pom.xml
index 6814637..c1de4be 100755
--- a/eagle-core/eagle-query/eagle-service-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-service-base/pom.xml
@@ -22,7 +22,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-query-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 
@@ -74,4 +74,4 @@
 			<artifactId>jackson-mapper-asl</artifactId>
 		</dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-storage-base/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-storage-base/pom.xml b/eagle-core/eagle-query/eagle-storage-base/pom.xml
index 2ef1543..c42c99c 100644
--- a/eagle-core/eagle-query/eagle-storage-base/pom.xml
+++ b/eagle-core/eagle-query/eagle-storage-base/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>eagle-query-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -34,4 +34,4 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-storage-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-storage-hbase/pom.xml b/eagle-core/eagle-query/eagle-storage-hbase/pom.xml
index 6e68d8d..a59ed29 100644
--- a/eagle-core/eagle-query/eagle-storage-hbase/pom.xml
+++ b/eagle-core/eagle-query/eagle-storage-hbase/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-query-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -100,4 +100,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/eagle-storage-jdbc/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/eagle-storage-jdbc/pom.xml b/eagle-core/eagle-query/eagle-storage-jdbc/pom.xml
index 8a49d83..7e2ffb1 100644
--- a/eagle-core/eagle-query/eagle-storage-jdbc/pom.xml
+++ b/eagle-core/eagle-query/eagle-storage-jdbc/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-query-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/eagle-query/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-query/pom.xml b/eagle-core/eagle-query/pom.xml
index 29526e0..623d5cd 100644
--- a/eagle-core/eagle-query/pom.xml
+++ b/eagle-core/eagle-query/pom.xml
@@ -21,7 +21,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-core</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-core/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-core/pom.xml b/eagle-core/pom.xml
index 1516552..9c41f76 100644
--- a/eagle-core/pom.xml
+++ b/eagle-core/pom.xml
@@ -21,7 +21,7 @@
     <parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-parent</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
 	</parent>
 
@@ -43,4 +43,4 @@
         <module>eagle-embed</module>
         <module>eagle-metric</module>
     </modules>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-examples/eagle-topology-example/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-examples/eagle-topology-example/pom.xml b/eagle-examples/eagle-topology-example/pom.xml
index 1a30b14..0b6b7b7 100644
--- a/eagle-examples/eagle-topology-example/pom.xml
+++ b/eagle-examples/eagle-topology-example/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>eagle-examples</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -67,4 +67,4 @@
         </plugins>
     </build>
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-examples/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-examples/pom.xml b/eagle-examples/pom.xml
index 4482404..8c34ceb 100644
--- a/eagle-examples/pom.xml
+++ b/eagle-examples/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>eagle-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-external/eagle-log4jkafka/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-external/eagle-log4jkafka/pom.xml b/eagle-external/eagle-log4jkafka/pom.xml
index 57b0a40..72e224a 100644
--- a/eagle-external/eagle-log4jkafka/pom.xml
+++ b/eagle-external/eagle-log4jkafka/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-external-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <packaging>jar</packaging>
@@ -113,4 +113,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-external/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-external/pom.xml b/eagle-external/pom.xml
index 32cd083..e5bccce 100644
--- a/eagle-external/pom.xml
+++ b/eagle-external/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -33,4 +33,4 @@
     <modules>
         <module>eagle-log4jkafka</module>
     </modules>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-gc/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-gc/pom.xml b/eagle-gc/pom.xml
index 91b1f3b..f69e743 100644
--- a/eagle-gc/pom.xml
+++ b/eagle-gc/pom.xml
@@ -23,7 +23,7 @@
   <parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
       <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-gc</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-hadoop-metric/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-hadoop-metric/pom.xml b/eagle-hadoop-metric/pom.xml
index c6dbccc..c2fe3f9 100644
--- a/eagle-hadoop-metric/pom.xml
+++ b/eagle-hadoop-metric/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <artifactId>eagle-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-metric-collection/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-metric-collection/pom.xml b/eagle-security/eagle-metric-collection/pom.xml
index 25721de..dafdd53 100644
--- a/eagle-security/eagle-metric-collection/pom.xml
+++ b/eagle-security/eagle-metric-collection/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
     <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-metric-collection</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-common/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-common/pom.xml b/eagle-security/eagle-security-common/pom.xml
index bd11eea..44ae948 100644
--- a/eagle-security/eagle-security-common/pom.xml
+++ b/eagle-security/eagle-security-common/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   </parent>
   <artifactId>eagle-security-common</artifactId>
   <name>eagle-security-common</name>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hbase-securitylog/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hbase-securitylog/pom.xml b/eagle-security/eagle-security-hbase-securitylog/pom.xml
index a42c125..b2d7639 100644
--- a/eagle-security/eagle-security-hbase-securitylog/pom.xml
+++ b/eagle-security/eagle-security-hbase-securitylog/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>eagle-security-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -37,4 +37,4 @@
             <version>${project.version}</version>
         </dependency>
     </dependencies>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hbase-web/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hbase-web/pom.xml b/eagle-security/eagle-security-hbase-web/pom.xml
index 107595d..7f17735 100644
--- a/eagle-security/eagle-security-hbase-web/pom.xml
+++ b/eagle-security/eagle-security-hbase-web/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>eagle-security-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -38,4 +38,4 @@
         </dependency>
     </dependencies>
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hdfs-auditlog/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hdfs-auditlog/pom.xml b/eagle-security/eagle-security-hdfs-auditlog/pom.xml
index 51ac29d..5a7f2f2 100644
--- a/eagle-security/eagle-security-hdfs-auditlog/pom.xml
+++ b/eagle-security/eagle-security-hdfs-auditlog/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   </parent>
   <artifactId>eagle-security-hdfs-auditlog</artifactId>
   <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hdfs-securitylog/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hdfs-securitylog/pom.xml b/eagle-security/eagle-security-hdfs-securitylog/pom.xml
index 258d5fa..34cf097 100644
--- a/eagle-security/eagle-security-hdfs-securitylog/pom.xml
+++ b/eagle-security/eagle-security-hdfs-securitylog/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <artifactId>eagle-security-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
@@ -38,4 +38,4 @@
     </dependencies>
 
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hdfs-web/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hdfs-web/pom.xml b/eagle-security/eagle-security-hdfs-web/pom.xml
index 5b640ca..c2143be 100644
--- a/eagle-security/eagle-security-hdfs-web/pom.xml
+++ b/eagle-security/eagle-security-hdfs-web/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   </parent>
 
   <artifactId>eagle-security-hdfs-web</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hive-web/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hive-web/pom.xml b/eagle-security/eagle-security-hive-web/pom.xml
index c493bc1..ee7970f 100644
--- a/eagle-security/eagle-security-hive-web/pom.xml
+++ b/eagle-security/eagle-security-hive-web/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   </parent>
   <artifactId>eagle-security-hive-web</artifactId>
   <name>eagle-security-hive-web</name>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-hive/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-hive/pom.xml b/eagle-security/eagle-security-hive/pom.xml
index 6320a8f..85765f6 100644
--- a/eagle-security/eagle-security-hive/pom.xml
+++ b/eagle-security/eagle-security-hive/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   </parent>
   <artifactId>eagle-security-hive</artifactId>
   <name>eagle-security-hive</name>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-userprofile/common/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-userprofile/common/pom.xml b/eagle-security/eagle-security-userprofile/common/pom.xml
index 3294050..fc9acc4 100644
--- a/eagle-security/eagle-security-userprofile/common/pom.xml
+++ b/eagle-security/eagle-security-userprofile/common/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-userprofile-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
       <relativePath>../pom.xml</relativePath>
   </parent>
   <packaging>jar</packaging>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-userprofile/detection/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-userprofile/detection/pom.xml b/eagle-security/eagle-security-userprofile/detection/pom.xml
index 1dc05f7..bf9a81f 100644
--- a/eagle-security/eagle-security-userprofile/detection/pom.xml
+++ b/eagle-security/eagle-security-userprofile/detection/pom.xml
@@ -22,7 +22,7 @@
   <parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-security-userprofile-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
   <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-security-userprofile-detection</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-userprofile/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-userprofile/pom.xml b/eagle-security/eagle-security-userprofile/pom.xml
index e195c50..fc391b4 100644
--- a/eagle-security/eagle-security-userprofile/pom.xml
+++ b/eagle-security/eagle-security-userprofile/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-security-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
 
@@ -36,4 +36,4 @@
         <module>detection</module>
         <module>training</module>
     </modules>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/eagle-security-userprofile/training/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/eagle-security-userprofile/training/pom.xml b/eagle-security/eagle-security-userprofile/training/pom.xml
index 1c256eb..260620b 100644
--- a/eagle-security/eagle-security-userprofile/training/pom.xml
+++ b/eagle-security/eagle-security-userprofile/training/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <artifactId>eagle-security-userprofile-parent</artifactId>
         <groupId>eagle</groupId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
         <relativePath>../pom.xml</relativePath>
     </parent>
     <modelVersion>4.0.0</modelVersion>
@@ -218,4 +218,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-security/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-security/pom.xml b/eagle-security/pom.xml
index 28080b6..0708425 100644
--- a/eagle-security/pom.xml
+++ b/eagle-security/pom.xml
@@ -23,7 +23,7 @@
   <parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
       <relativePath>../pom.xml</relativePath>
   </parent>
   <artifactId>eagle-security-parent</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-topology-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-topology-assembly/pom.xml b/eagle-topology-assembly/pom.xml
index 0201625..df5756e 100644
--- a/eagle-topology-assembly/pom.xml
+++ b/eagle-topology-assembly/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>eagle</groupId>
         <artifactId>eagle-parent</artifactId>
-        <version>0.3.0-incubating</version>
+        <version>0.3.1-incubating</version>
     </parent>
     <artifactId>eagle-topology-assembly</artifactId>
     <name>eagle-topology-assembly</name>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/eagle-webservice/pom.xml
----------------------------------------------------------------------
diff --git a/eagle-webservice/pom.xml b/eagle-webservice/pom.xml
index f638f12..08f94ac 100644
--- a/eagle-webservice/pom.xml
+++ b/eagle-webservice/pom.xml
@@ -17,7 +17,7 @@
 	<parent>
 		<groupId>eagle</groupId>
 		<artifactId>eagle-parent</artifactId>
-		<version>0.3.0-incubating</version>
+		<version>0.3.1-incubating</version>
 		<relativePath>../pom.xml</relativePath>
 	</parent>
 	<artifactId>eagle-webservice</artifactId>

http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/6aeab62e/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 3df68d0..c1f43de 100755
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
     </parent>
     <groupId>eagle</groupId>
     <artifactId>eagle-parent</artifactId>
-    <version>0.3.0-incubating</version>
+    <version>0.3.1-incubating</version>
     <packaging>pom</packaging>
     <name>Apache Eagle Parent</name>
     <url>https://eagle.incubator.apache.org</url>


Mime
View raw message