FALCON-2305 workflow metrics thread failures Author: Praveen Adlakha <[email protected]>
Reviewers: @pallavi, @peeyushb Closes #388 from PraveenAdlakha/2305 and squashes the following commits: beed4f9c6 [Praveen Adlakha] checkstyle issue fixed f2fe99f3b [Praveen Adlakha] FALCON-2305 Handle workflow Thread Failure c917fb47b [Praveen Adlakha] comments addressed (cherry picked from commit d07a2f7054d02b11842289911d4c82ed2a31aaa6) Signed-off-by: Pallavi Rao <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/falcon/repo Commit: http://git-wip-us.apache.org/repos/asf/falcon/commit/32806e10 Tree: http://git-wip-us.apache.org/repos/asf/falcon/tree/32806e10 Diff: http://git-wip-us.apache.org/repos/asf/falcon/diff/32806e10 Branch: refs/heads/master Commit: 32806e105ff5871451e605a5c3a28bac5e2df283 Parents: 84186f0 Author: Praveen Adlakha <[email protected]> Authored: Fri Sep 8 12:52:14 2017 +0530 Committer: Pallavi Rao <[email protected]> Committed: Fri Sep 8 12:52:28 2017 +0530 ---------------------------------------------------------------------- .../falcon/service/BacklogMetricEmitterService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/falcon/blob/32806e10/prism/src/main/java/org/apache/falcon/service/BacklogMetricEmitterService.java ---------------------------------------------------------------------- diff --git a/prism/src/main/java/org/apache/falcon/service/BacklogMetricEmitterService.java b/prism/src/main/java/org/apache/falcon/service/BacklogMetricEmitterService.java index 50170b9..aa1c346 100644 --- a/prism/src/main/java/org/apache/falcon/service/BacklogMetricEmitterService.java +++ b/prism/src/main/java/org/apache/falcon/service/BacklogMetricEmitterService.java @@ -417,9 +417,14 @@ public final class BacklogMetricEmitterService implements FalconService, iterator.remove(); continue; } - InstancesResult status = wfEngine.getStatus(entity, nominalTime, - new Date(nominalTime.getTime() + 200), PROCESS_LIFE_CYCLE, false); - if (status.getInstances().length > 0 + InstancesResult status = null; + try { + status = wfEngine.getStatus(entity, nominalTime, + new Date(nominalTime.getTime() + 200), PROCESS_LIFE_CYCLE, false); + } catch (FalconException e) { + LOG.error("Unable to get status for :" + entity.getName(), e); + } + if (status !=null && status.getInstances().length > 0 && status.getInstances()[0].status == InstancesResult. WorkflowStatus.SUCCEEDED) { LOG.debug("Instance of nominal time {} of entity {} has succeeded, removing "
