FALCON-2107 NPE in FalconWorkflowEngine::isActive() method
Author: bvellanki <bvellanki@hortonworks.com>
Reviewers: "Venkat Ranganathan <venkat@hortonworks.com>"
Closes #254 from bvellanki/FALCON-2107
diff --git a/scheduler/src/main/java/org/apache/falcon/workflow/engine/FalconWorkflowEngine.java b/scheduler/src/main/java/org/apache/falcon/workflow/engine/FalconWorkflowEngine.java
index 7b7da0a..fe16443 100644
--- a/scheduler/src/main/java/org/apache/falcon/workflow/engine/FalconWorkflowEngine.java
+++ b/scheduler/src/main/java/org/apache/falcon/workflow/engine/FalconWorkflowEngine.java
@@ -108,12 +108,17 @@
@Override
public boolean isActive(Entity entity) throws FalconException {
- EntityID id = new EntityID(entity);
- // Ideally state store should have all entities, but, check anyway.
- if (STATE_STORE.entityExists(id)) {
- return STATE_STORE.getEntity(id).getCurrentState() != EntityState.STATE.SUBMITTED;
+ try {
+ EntityID id = new EntityID(entity);
+ // Ideally state store should have all entities, but, check anyway.
+ if (STATE_STORE.entityExists(id)) {
+ return STATE_STORE.getEntity(id).getCurrentState() != EntityState.STATE.SUBMITTED;
+ }
+ return false;
+ } catch (NullPointerException npe) {
+ // FalconJPAService is not always used, so catch NPE and return false
+ return false;
}
- return false;
}
@Override