You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/04/09 22:15:52 UTC
[1/2] airavata git commit: Fixed AIRAVATA-1665
Repository: airavata
Updated Branches:
refs/heads/master fdb3fc918 -> fc2088202
Fixed AIRAVATA-1665
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/50672a79
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/50672a79
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/50672a79
Branch: refs/heads/master
Commit: 50672a799c7d9c47f23e075f055f090a15c5a013
Parents: bf0fddb
Author: shamrath <sh...@gmail.com>
Authored: Thu Apr 9 16:14:17 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Thu Apr 9 16:14:17 2015 -0400
----------------------------------------------------------------------
.../gfac/monitor/email/EmailBasedMonitor.java | 27 +++++++++++++-------
1 file changed, 18 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/50672a79/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index 6e12d83..b6bfa6c 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -46,6 +46,8 @@ import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.search.FlagTerm;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.concurrent.ConcurrentHashMap;
@@ -142,10 +144,19 @@ public class EmailBasedMonitor implements Runnable{
emailFolder = store.getFolder(folderName);
emailFolder.open(Folder.READ_WRITE);
Message[] searchMessages = emailFolder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
+ List<Message> processedMessages = new ArrayList<>();
for (Message message : searchMessages) {
try {
JobStatusResult jobStatusResult = parse(message);
- process(jobStatusResult);
+ JobExecutionContext jEC = jobMonitorMap.get(jobStatusResult.getJobId());
+ if (jEC != null) {
+ process(jobStatusResult, jEC);
+ processedMessages.add(message);
+ } 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.
+ log.info("JobExecutionContext is not found for job Id " + jobStatusResult.getJobId());
+ }
} catch (AiravataException e) {
log.error("Error parsing email message =====================================>", e);
try {
@@ -153,13 +164,15 @@ public class EmailBasedMonitor implements Runnable{
} catch (MessagingException e1) {
log.error("Error printing envelop of the email");
}
-
}
}
- emailFolder.setFlags(searchMessages, new Flags(Flags.Flag.SEEN), true);
+ if (!processedMessages.isEmpty()) {
+ Message[] prosMessages = new Message[processedMessages.size()];
+ processedMessages.toArray(prosMessages);
+ emailFolder.setFlags(prosMessages, new Flags(Flags.Flag.SEEN), true);
+ }
emailFolder.close(false);
}
-
} catch (MessagingException e) {
log.error("Couldn't connect to the store ", e);
} catch (InterruptedException e) {
@@ -173,11 +186,7 @@ public class EmailBasedMonitor implements Runnable{
}
}
- private void process(JobStatusResult jobStatusResult) throws AiravataException {
- JobExecutionContext jEC = jobMonitorMap.get(jobStatusResult.getJobId());
- if (jEC == null) {
- throw new AiravataException("JobExecutionContext is not found for job Id " + jobStatusResult.getJobId());
- }
+ private void process(JobStatusResult jobStatusResult, JobExecutionContext jEC){
JobState resultState = jobStatusResult.getState();
jEC.getJobDetails().setJobStatus(new JobStatus(resultState));
if (resultState == JobState.COMPLETE) {
[2/2] airavata git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/airavata
Posted by sh...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/fc208820
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/fc208820
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/fc208820
Branch: refs/heads/master
Commit: fc20882025dd1830b85c626522fd64da03080f20
Parents: 50672a7 fdb3fc9
Author: shamrath <sh...@gmail.com>
Authored: Thu Apr 9 16:15:33 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Thu Apr 9 16:15:33 2015 -0400
----------------------------------------------------------------------
.../test-suite/multi-tenanted-airavata/README | 2 +-
.../test-suite/multi-tenanted-airavata/pom.xml | 29 ++++
.../ApplicationRegister.java | 147 +++++++++++--------
.../ComputeResourceRegister.java | 2 +-
.../ExperimentExecution.java | 140 ++++++++++--------
.../FrameworkBootstrapping.java | 2 +-
.../multitenantedairavata/GatewayRegister.java | 23 ++-
.../utils/FrameworkUtils.java | 54 +++++++
.../utils/TestFrameworkConstants.java | 3 +
.../main/resources/test-framework.properties | 3 +
10 files changed, 275 insertions(+), 130 deletions(-)
----------------------------------------------------------------------