|
From: <ha...@us...> - 2008-05-27 19:07:22
|
Revision: 2028
http://cogkit.svn.sourceforge.net/cogkit/?rev=2028&view=rev
Author: hategan
Date: 2008-05-27 12:07:13 -0700 (Tue, 27 May 2008)
Log Message:
-----------
report exception if task submission fails
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java 2008-05-26 17:28:46 UTC (rev 2027)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/local/LocalService.java 2008-05-27 19:07:13 UTC (rev 2028)
@@ -16,6 +16,8 @@
import org.apache.log4j.Logger;
import org.globus.cog.abstraction.coaster.service.Registering;
+import org.globus.cog.abstraction.impl.common.task.TaskSubmissionException;
+import org.globus.cog.abstraction.interfaces.Status;
import org.globus.cog.abstraction.interfaces.Task;
import org.globus.cog.karajan.workflow.service.ConnectionHandler;
import org.globus.cog.karajan.workflow.service.GSSService;
@@ -60,12 +62,12 @@
}
public String waitForRegistration(Task t, String id)
- throws InterruptedException, IOException {
+ throws InterruptedException, TaskSubmissionException {
return waitForRegistration(t, id, DEFAULT_REGISTRATION_TIMEOUT);
}
public String waitForRegistration(Task t, String id, long timeout)
- throws InterruptedException, IOException {
+ throws InterruptedException, TaskSubmissionException {
if (logger.isDebugEnabled()) {
logger.debug("Waiting for registration from service " + id);
}
@@ -74,14 +76,16 @@
while (!services.containsKey(id)) {
services.wait(1000);
if (timeout < System.currentTimeMillis() - start) {
- throw new IOException(
+ throw new TaskSubmissionException(
"Timed out waiting for registration for " + id);
}
- if (t.getStatus().isTerminal()) {
- throw new IOException(
- "Task ended before registration was received."
+ Status s = t.getStatus();
+ if (s.isTerminal()) {
+ throw new TaskSubmissionException(
+ "Task ended before registration was received"
+ + (s.getMessage() == null ? ". " : ": " + s.getMessage())
+ "\nSTDOUT: " + t.getStdOutput()
- + "\nSTDERR: " + t.getStdError());
+ + "\nSTDERR: " + t.getStdError(), s.getException());
}
}
return (String) services.get(id);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|