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;

Reply via email to