You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@falcon.apache.org by pa...@apache.org on 2018/08/09 10:32:42 UTC
falcon git commit: FALCON-2341 Entity SLA Alert publishing wrong
results into DB
Repository: falcon
Updated Branches:
refs/heads/master 00a2b3a95 -> 470e5e9f5
FALCON-2341 Entity SLA Alert publishing wrong results into DB
Author: Amit Khanna <am...@inmobi.com>
Reviewers: @pallavi-rao
Closes #415 from amitkhanna1806/apache-falcon and squashes the following commits:
f61fd66cf [Amit Khanna] SLA High should be true if TAG_CRITICAL
10a989c57 [Amit Khanna] FALCON-2341 Entity SLA Alert publishing wrong results into DB
Project: http://git-wip-us.apache.org/repos/asf/falcon/repo
Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/470e5e9f
Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/470e5e9f
Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/470e5e9f
Branch: refs/heads/master
Commit: 470e5e9f5de9ba1b6149dec60e87d3a04270eda3
Parents: 00a2b3a
Author: Amit Khanna <am...@inmobi.com>
Authored: Thu Aug 9 16:02:37 2018 +0530
Committer: pallavi-rao <pa...@inmobi.com>
Committed: Thu Aug 9 16:02:37 2018 +0530
----------------------------------------------------------------------
.../apache/falcon/persistence/EntitySLAAlertBean.java | 4 ++--
.../apache/falcon/jdbc/MonitoringJdbcStateStore.java | 12 ++++++++++++
.../apache/falcon/service/EntitySLAAlertService.java | 5 +++--
.../falcon/service/EntitySLAMonitoringService.java | 8 ++++----
4 files changed, 21 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/falcon/blob/470e5e9f/common/src/main/java/org/apache/falcon/persistence/EntitySLAAlertBean.java
----------------------------------------------------------------------
diff --git a/common/src/main/java/org/apache/falcon/persistence/EntitySLAAlertBean.java b/common/src/main/java/org/apache/falcon/persistence/EntitySLAAlertBean.java
index 6482e8c..b0ce279 100644
--- a/common/src/main/java/org/apache/falcon/persistence/EntitySLAAlertBean.java
+++ b/common/src/main/java/org/apache/falcon/persistence/EntitySLAAlertBean.java
@@ -101,11 +101,11 @@ public class EntitySLAAlertBean {
private Boolean slaHighAlertSent;
public Date getNominalTime() {
- return new Date(nominalTime.getTime());
+ return nominalTime;
}
public void setNominalTime(Date nominalTime) {
- this.nominalTime = new Date(nominalTime.getTime());
+ this.nominalTime = nominalTime;
}
public String getId() {
http://git-wip-us.apache.org/repos/asf/falcon/blob/470e5e9f/prism/src/main/java/org/apache/falcon/jdbc/MonitoringJdbcStateStore.java
----------------------------------------------------------------------
diff --git a/prism/src/main/java/org/apache/falcon/jdbc/MonitoringJdbcStateStore.java b/prism/src/main/java/org/apache/falcon/jdbc/MonitoringJdbcStateStore.java
index 51eac94..8d50862 100644
--- a/prism/src/main/java/org/apache/falcon/jdbc/MonitoringJdbcStateStore.java
+++ b/prism/src/main/java/org/apache/falcon/jdbc/MonitoringJdbcStateStore.java
@@ -263,6 +263,9 @@ public class MonitoringJdbcStateStore {
public void putSLAAlertInstance(String entityName, String cluster, String entityType, Date nominalTime,
Boolean isSLALowMissed, Boolean isSLAHighMissed) throws FalconException{
+ if(isSLAAlertInstancePresent(entityName, cluster, entityType, nominalTime)){
+ return;
+ }
EntityManager entityManager = getEntityManager();
EntitySLAAlertBean entitySLAAlertBean = new EntitySLAAlertBean();
entitySLAAlertBean.setEntityName(entityName);
@@ -313,4 +316,13 @@ public class MonitoringJdbcStateStore {
entityManager.getTransaction().begin();
}
+ public boolean isSLAAlertInstancePresent(String entityName, String cluster, String entityType, Date nominalTime){
+ try{
+ getEntityAlertInstance(entityName, cluster, nominalTime, entityType);
+ return true;
+ } catch (Exception NoResultException){
+ return false;
+ }
+ }
+
}
http://git-wip-us.apache.org/repos/asf/falcon/blob/470e5e9f/prism/src/main/java/org/apache/falcon/service/EntitySLAAlertService.java
----------------------------------------------------------------------
diff --git a/prism/src/main/java/org/apache/falcon/service/EntitySLAAlertService.java b/prism/src/main/java/org/apache/falcon/service/EntitySLAAlertService.java
index 2f19e6b..edf626b 100644
--- a/prism/src/main/java/org/apache/falcon/service/EntitySLAAlertService.java
+++ b/prism/src/main/java/org/apache/falcon/service/EntitySLAAlertService.java
@@ -144,9 +144,10 @@ public final class EntitySLAAlertService implements FalconService, EntitySLAList
} else if (schedulableEntityInstance.getTags().contains(EntitySLAMonitoringService.get().TAG_CRITICAL)){
if (entityType.equalsIgnoreCase(EntityType.PROCESS.name())){
store.putSLAAlertInstance(entityName, clusterName, entityType,
- nominalTime, true, false);
+ nominalTime, true, true);
+ } else {
+ store.updateSLAAlertInstance(entityName, clusterName, nominalTime, entityType);
}
- store.updateSLAAlertInstance(entityName, clusterName, nominalTime, entityType);
LOG.info("Entity :{} EntityType : {} Cluster: {} Nominal Time: {} missed SLAHigh", entityName,
entityType, clusterName , nominalTime);
highSLAMissed(entityName, clusterName, EntityType.getEnum(entityType), nominalTime);
http://git-wip-us.apache.org/repos/asf/falcon/blob/470e5e9f/prism/src/main/java/org/apache/falcon/service/EntitySLAMonitoringService.java
----------------------------------------------------------------------
diff --git a/prism/src/main/java/org/apache/falcon/service/EntitySLAMonitoringService.java b/prism/src/main/java/org/apache/falcon/service/EntitySLAMonitoringService.java
index 8b3dbe4..279cab8 100644
--- a/prism/src/main/java/org/apache/falcon/service/EntitySLAMonitoringService.java
+++ b/prism/src/main/java/org/apache/falcon/service/EntitySLAMonitoringService.java
@@ -452,7 +452,7 @@ public final class EntitySLAMonitoringService implements ConfigurationChangeList
Entity entity = EntityUtil.getEntity(entityType, entityName);
authenticateUser(entity);
try {
- if (entityType.equalsIgnoreCase(EntityType.PROCESS.toString())){
+ if (entity.getEntityType() == EntityType.PROCESS){
LOG.trace("Checking instance availability status for entity:{}, cluster:{}, "
+ "instanceTime:{}", entity.getName(), clusterName, nominalTime, entityType);
AbstractWorkflowEngine wfEngine = WorkflowEngineFactory.getWorkflowEngine();
@@ -470,7 +470,7 @@ public final class EntitySLAMonitoringService implements ConfigurationChangeList
}
return false;
}
- if (entityType.equalsIgnoreCase(EntityType.FEED.toString())){
+ if (entity.getEntityType() == EntityType.FEED){
LOG.trace("Checking instance availability status for feed:{}, cluster:{}, instanceTime:{}",
entity.getName(), clusterName, nominalTime);
@@ -567,7 +567,7 @@ public final class EntitySLAMonitoringService implements ConfigurationChangeList
}
Entity entity = EntityUtil.getEntity(entityType, entityName);
- if (entityType.equals(EntityType.FEED.toString())) {
+ if (entity.getEntityType() == EntityType.FEED) {
Sla sla = FeedHelper.getSLA(clusterName, (Feed) entity);
if (sla != null) {
@@ -640,7 +640,7 @@ public final class EntitySLAMonitoringService implements ConfigurationChangeList
@VisibleForTesting
Date getInitialStartTime(Entity entity, String clusterName, String entityType) throws FalconException {
- if (entityType.equals(EntityType.FEED.toString())){
+ if (entity.getEntityType() == EntityType.FEED){
Sla sla = FeedHelper.getSLA(clusterName, (Feed) entity);
if (sla == null) {
throw new IllegalStateException("InitialStartTime can not be determined as the feed: "