Repository: airavata Updated Branches: refs/heads/develop 4e0c43c31 -> 7da786f6a (forced update)
handling a corner case in email handling from Airavata custom emails Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/b774862b Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/b774862b Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/b774862b Branch: refs/heads/develop Commit: b774862b66f6649429ad6d4155a2921108588bc9 Parents: 7975778 Author: scnakandala <[email protected]> Authored: Mon Mar 6 13:05:45 2017 -0500 Committer: scnakandala <[email protected]> Committed: Tue Mar 7 17:14:46 2017 -0500 ---------------------------------------------------------------------- .../airavata/gfac/monitor/email/EmailBasedMonitor.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/b774862b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java index 02dfa00..92f0d78 100644 --- a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java +++ b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java @@ -279,6 +279,12 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{ if (taskContext != null) { process(jobStatusResult, taskContext); processedMessages.add(message); + + } else if (addressMap.get(message.getFrom()).equals(ResourceJobManagerType.AIRAVATA_CUSTOM) + && (new Date()).getTime() - message.getSentDate().getTime() > 1000 * 6 * 5) { + //marking old custom Airavata emails as read + processedMessages.add(message); + log.info("Marking old Airavata custom emails as read, message subject --> {}", message.getSubject()); } else { // we can get JobExecutionContext null in multiple Gfac instances environment, // where this job is not submitted by this Gfac instance hence we ignore this message. @@ -357,14 +363,15 @@ public class EmailBasedMonitor implements JobMonitor, Runnable{ if (currentState != null && currentState == JobState.COMPLETE) { jobMonitorMap.remove(jobStatusResult.getJobId()); runOutflowTasks = false; - log.info("[EJM]: Job Complete email received , removed job from job monitoring. " + jobDetails); + log.info("[EJM]: Authoritative job Complete email received after early Airavata custom complete email," + + " removed job from job monitoring. " + jobDetails); } else { jobMonitorMap.remove(jobStatusResult.getJobId()); runOutflowTasks = true; jobStatus.setJobState(JobState.COMPLETE); jobStatus.setReason("Complete email received"); jobStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime()); - log.info("[EJM]: Job Complete email received , removed job from job monitoring. " + jobDetails); + log.info("[EJM]: Authoritative job Complete email received , removed job from job monitoring. " + jobDetails); } } else { runOutflowTasks = true;
