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/05/14 17:14:20 UTC
airavata git commit: After submit to compute resource,
use JobId to verify if job id is not null.
Repository: airavata
Updated Branches:
refs/heads/master e6d66d000 -> 6b7a84ce2
After submit to compute resource, use JobId to verify if job id is not null.
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/6b7a84ce
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/6b7a84ce
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/6b7a84ce
Branch: refs/heads/master
Commit: 6b7a84ce2f3d4d5277cfbd1a12ee4e219fa6e31f
Parents: e6d66d0
Author: shamrath <sh...@gmail.com>
Authored: Thu May 14 11:14:17 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Thu May 14 11:14:17 2015 -0400
----------------------------------------------------------------------
.../gfac/ssh/provider/impl/SSHProvider.java | 25 ++++++++++++++------
1 file changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/6b7a84ce/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
index 9bc68bd..415b632 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
@@ -47,6 +47,7 @@ import org.apache.airavata.gsi.ssh.api.Cluster;
import org.apache.airavata.gsi.ssh.api.CommandExecutor;
import org.apache.airavata.gsi.ssh.api.SSHApiException;
import org.apache.airavata.gsi.ssh.api.job.JobDescriptor;
+import org.apache.airavata.gsi.ssh.impl.JobStatus;
import org.apache.airavata.gsi.ssh.impl.RawCommandInfo;
import org.apache.airavata.gsi.ssh.impl.StandardOutReader;
import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
@@ -166,19 +167,25 @@ public class SSHProvider extends AbstractProvider {
GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.SUBMITTED, monitorPublisher);
monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
, GfacExperimentState.JOBSUBMITTED));
- }
- jobExecutionContext.setJobDetails(jobDetails);
- String verifyJobId = verifyJobSubmission(cluster, jobDetails);
- if (verifyJobId != null) {
- // JobStatus either changed from SUBMITTED to QUEUED or directly to QUEUED
- if (jobID == null) {
+ jobExecutionContext.setJobDetails(jobDetails);
+ if (verifyJobSubmissionByJobId(cluster, jobID)) {
+ monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
+ , GfacExperimentState.JOBSUBMITTED));
+ GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.QUEUED, monitorPublisher);
+ }
+ } else {
+ jobExecutionContext.setJobDetails(jobDetails);
+ String verifyJobId = verifyJobSubmission(cluster, jobDetails);
+ if (verifyJobId != null) {
+ // JobStatus either changed from SUBMITTED to QUEUED or directly to QUEUED
jobID = verifyJobId;
jobDetails.setJobID(jobID);
monitorPublisher.publish(new GfacExperimentStateChangeRequest(new MonitorID(jobExecutionContext)
, GfacExperimentState.JOBSUBMITTED));
+ GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.QUEUED, monitorPublisher);
}
- GFacUtils.saveJobStatus(jobExecutionContext, jobDetails, JobState.QUEUED, monitorPublisher);
}
+
if (jobID == null) {
log.error("Couldn't find remote jobId for JobName:" + jobDetails.getJobName() + ", ExperimentId:" + jobExecutionContext.getExperimentID());
GFacUtils.updateExperimentStatus(jobExecutionContext.getExperimentID(), ExperimentState.FAILED);
@@ -212,6 +219,10 @@ public class SSHProvider extends AbstractProvider {
}
}
+ private boolean verifyJobSubmissionByJobId(Cluster cluster, String jobID) throws SSHApiException {
+ return cluster.getJobStatus(jobID) != null;
+ }
+
private String verifyJobSubmission(Cluster cluster, JobDetails jobDetails) {
String jobName = jobDetails.getJobName();
String jobId = null;