|
From: <ha...@us...> - 2006-10-11 20:19:23
|
Revision: 895
http://svn.sourceforge.net/cogkit/?rev=895&view=rev
Author: hategan
Date: 2006-10-11 13:19:20 -0700 (Wed, 11 Oct 2006)
Log Message:
-----------
some task optimization scheme
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-10-11 20:17:27 UTC (rev 894)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-10-11 20:19:20 UTC (rev 895)
@@ -38,6 +38,11 @@
import org.globus.cog.karajan.workflow.ExecutionContext;
import org.globus.cog.karajan.workflow.ExecutionException;
import org.globus.cog.karajan.workflow.events.AbortEvent;
+import org.globus.cog.karajan.workflow.events.EventBus;
+import org.globus.cog.karajan.workflow.events.EventListener;
+import org.globus.cog.karajan.workflow.events.FailureNotificationEvent;
+import org.globus.cog.karajan.workflow.events.FlowEvent;
+import org.globus.cog.karajan.workflow.nodes.FlowNode;
import org.globus.cog.karajan.workflow.nodes.SequentialWithArguments;
public abstract class AbstractGridNode extends SequentialWithArguments implements StatusListener {
@@ -298,4 +303,29 @@
return AbstractionFactory.newSecurityContext(provider);
}
}
+
+ /**
+ * Overriden to release the notification threads as soon as possible.
+ */
+ public void fireNotificationEvent(final FlowEvent event, final VariableStack stack) {
+ try {
+ EventListener caller = (EventListener) stack.getVar(CALLER);
+ if (caller == null) {
+ logger.error("Caller is null");
+ stack.dumpAll();
+ }
+ else {
+ EventBus.post(caller, event);
+ }
+ }
+ catch (VariableNotFoundException ee) {
+ logger.debug("No #caller for: " + this, new Throwable());
+ if (FlowNode.debug) {
+ stack.dumpAll();
+ }
+ EventListener parent = getParent();
+ EventBus.post(parent, new FailureNotificationEvent(this, stack,
+ "No #caller found on stack for " + this, ee));
+ }
+ }
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2006-11-08 21:30:22
|
Revision: 1362
http://svn.sourceforge.net/cogkit/?rev=1362&view=rev
Author: hategan
Date: 2006-11-08 13:30:15 -0800 (Wed, 08 Nov 2006)
Log Message:
-----------
info message on the details of a failed task
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-11-08 20:46:18 UTC (rev 1361)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-11-08 21:30:15 UTC (rev 1362)
@@ -269,8 +269,10 @@
}
protected void taskFailed(StatusEvent e, VariableStack stack) throws ExecutionException {
+ if (logger.isInfoEnabled()) {
+ logger.info("Failed task: " + ((Task) e.getSource()).getSpecification());
+ }
Exception ex = e.getStatus().getException();
- // ret(stack, "stderr", "Failed task: " + e.getSource());
if (ex != null) {
failImmediately(stack, new ExecutionException(
ExecutionContext.getMeaningfulMessage(ex), ex));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2006-11-22 20:34:02
|
Revision: 1408
http://svn.sourceforge.net/cogkit/?rev=1408&view=rev
Author: hategan
Date: 2006-11-22 12:33:58 -0800 (Wed, 22 Nov 2006)
Log Message:
-----------
small cleanup
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-11-22 20:33:17 UTC (rev 1407)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-11-22 20:33:58 UTC (rev 1408)
@@ -222,7 +222,7 @@
public void statusChanged(StatusEvent e) {
try {
int status = e.getStatus().getStatusCode();
- if (!((status == Status.COMPLETED) || (status == Status.FAILED) || (status == Status.CANCELED))) {
+ if (!e.getStatus().isTerminal()) {
return;
}
VariableStack stack = (VariableStack) tasks.get(e.getSource());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2006-11-30 22:29:25
|
Revision: 1438
http://svn.sourceforge.net/cogkit/?rev=1438&view=rev
Author: hategan
Date: 2006-11-30 14:29:23 -0800 (Thu, 30 Nov 2006)
Log Message:
-----------
also log all services for failed tasks
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-11-30 22:26:45 UTC (rev 1437)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-11-30 22:29:23 UTC (rev 1438)
@@ -270,7 +270,8 @@
protected void taskFailed(StatusEvent e, VariableStack stack) throws ExecutionException {
if (logger.isInfoEnabled()) {
- logger.info("Failed task: " + ((Task) e.getSource()).getSpecification());
+ Task t = (Task) e.getSource();
+ logger.info("Failed task: " + t.getSpecification() + " on " + t.getAllServices());
}
Exception ex = e.getStatus().getException();
if (ex != null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-01-04 04:52:05
|
Revision: 1519
http://svn.sourceforge.net/cogkit/?rev=1519&view=rev
Author: hategan
Date: 2007-01-03 20:52:02 -0800 (Wed, 03 Jan 2007)
Log Message:
-----------
a bit of cleanup
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2006-12-31 00:16:31 UTC (rev 1518)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-01-04 04:52:02 UTC (rev 1519)
@@ -225,7 +225,8 @@
if (!e.getStatus().isTerminal()) {
return;
}
- VariableStack stack = (VariableStack) tasks.get(e.getSource());
+ Task task = (Task) e.getSource();
+ VariableStack stack = (VariableStack) tasks.get(task);
if (stack == null) {
logger.warn("Received status event from unknown task " + e.getSource());
}
@@ -233,10 +234,10 @@
logger.debug("Got status event: " + status);
Scheduler scheduler = getScheduler(stack);
if (scheduler != null) {
- scheduler.removeJobStatusListener(this, (Task) e.getSource());
+ scheduler.removeJobStatusListener(this, task);
}
stack.getExecutionContext().getStateManager().unregisterElement(this, stack);
- removeTask((Task) e.getSource());
+ removeTask(task);
if (e.getStatus().getStatusCode() == Status.COMPLETED) {
taskCompleted(e, stack);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-01-19 02:40:27
|
Revision: 1541
http://svn.sourceforge.net/cogkit/?rev=1541&view=rev
Author: hategan
Date: 2007-01-18 18:40:26 -0800 (Thu, 18 Jan 2007)
Log Message:
-----------
I need to find a betetr way to get nicer messages out of these exceptions
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-01-19 02:39:04 UTC (rev 1540)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-01-19 02:40:26 UTC (rev 1541)
@@ -276,8 +276,7 @@
}
Exception ex = e.getStatus().getException();
if (ex != null) {
- failImmediately(stack, new ExecutionException(
- ExecutionContext.getMeaningfulMessage(ex), ex));
+ failImmediately(stack, ex);
}
else {
failImmediately(stack, "Task failed");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-02-06 00:55:24
|
Revision: 1561
http://svn.sourceforge.net/cogkit/?rev=1561&view=rev
Author: hategan
Date: 2007-02-05 16:55:22 -0800 (Mon, 05 Feb 2007)
Log Message:
-----------
tweaked log messages
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-01-28 17:52:33 UTC (rev 1560)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-02-06 00:55:22 UTC (rev 1561)
@@ -136,12 +136,12 @@
+ provider, e);
}
}
- bc.addService(new ServiceImpl(provider, Service.JOB_SUBMISSION,
- new ServiceContactImpl(contact), sc));
- bc.addService(new ServiceImpl(provider, Service.FILE_OPERATION,
- new ServiceContactImpl(contact), sc));
- bc.addService(new ServiceImpl(provider, Service.FILE_TRANSFER,
- new ServiceContactImpl(contact), sc));
+ bc.addService(new ServiceImpl(provider, Service.JOB_SUBMISSION, new ServiceContactImpl(
+ contact), sc));
+ bc.addService(new ServiceImpl(provider, Service.FILE_OPERATION, new ServiceContactImpl(
+ contact), sc));
+ bc.addService(new ServiceImpl(provider, Service.FILE_TRANSFER, new ServiceContactImpl(
+ contact), sc));
}
public static final Arg A_SECURITY_CONTEXT = new Arg.TypedPositional("securityContext",
@@ -212,6 +212,10 @@
public void submitScheduled(Scheduler scheduler, Task task, VariableStack stack,
Object constraints) {
+ if (logger.isInfoEnabled()) {
+ logger.info(task);
+ logger.info("Submitting task " + task.getIdentity());
+ }
scheduler.addJobStatusListener(this, task);
synchronized (tasks) {
tasks.put(task, stack);
@@ -222,6 +226,9 @@
public void statusChanged(StatusEvent e) {
try {
int status = e.getStatus().getStatusCode();
+ if (logger.isInfoEnabled()) {
+ logger.info("Task status changed " + e.getSource().getIdentity() + " " + status);
+ }
if (!e.getStatus().isTerminal()) {
return;
}
@@ -264,7 +271,9 @@
protected void removeTask(Task task) {
synchronized (tasks) {
- tasks.remove(task);
+ if (tasks.remove(task) == null) {
+ logger.warn("Task being removed twice?", new Throwable());
+ }
}
logger.debug("Tasks in the map: " + tasks.size());
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-04-06 15:39:45
|
Revision: 1632
http://svn.sourceforge.net/cogkit/?rev=1632&view=rev
Author: hategan
Date: 2007-04-06 08:39:41 -0700 (Fri, 06 Apr 2007)
Log Message:
-----------
thread prefix in task identity
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-04-06 01:10:56 UTC (rev 1631)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-04-06 15:39:41 UTC (rev 1632)
@@ -17,6 +17,7 @@
import org.apache.log4j.Logger;
import org.globus.cog.abstraction.impl.common.AbstractionFactory;
+import org.globus.cog.abstraction.impl.common.IdentityImpl;
import org.globus.cog.abstraction.impl.common.ProviderMethodException;
import org.globus.cog.abstraction.impl.common.StatusEvent;
import org.globus.cog.abstraction.impl.common.task.InvalidProviderException;
@@ -146,7 +147,6 @@
public static final Arg A_SECURITY_CONTEXT = new Arg.TypedPositional("securityContext",
SecurityContext.class, "Security Context");
-
public void setSecurityContext(VariableStack stack, Service service) throws ExecutionException {
if (A_SECURITY_CONTEXT.isPresent(stack)) {
SecurityContext sc = (SecurityContext) A_SECURITY_CONTEXT.getValue(stack);
@@ -187,7 +187,6 @@
}
}
}
-
public void submitUnscheduled(TaskHandler handler, Task task, VariableStack stack)
throws ExecutionException {
task.addStatusListener(this);
@@ -201,7 +200,9 @@
catch (Exception e) {
// avoid failing twice if status is already set
if (task.getStatus().getStatusCode() != Status.FAILED) {
- logger.debug("Exception caught while submitting task: ", e);
+ if (logger.isDebugEnabled()) {
+ logger.debug("Exception caught while submitting task: ", e);
+ }
throw new ExecutionException(ExecutionContext.getMeaningfulMessage(e), e);
}
else {
@@ -209,13 +210,18 @@
}
}
}
-
public void submitScheduled(Scheduler scheduler, Task task, VariableStack stack,
Object constraints) {
- if (logger.isInfoEnabled()) {
- logger.info(task);
- logger.info("Submitting task " + task.getIdentity());
+ try {
+ task.setIdentity(new IdentityImpl(ThreadingContext.get(stack).toString()));
}
+ catch (VariableNotFoundException e) {
+ // such is life
+ }
+ if (logger.isDebugEnabled()) {
+ logger.debug(task);
+ logger.debug("Submitting task " + task.getIdentity());
+ }
scheduler.addJobStatusListener(this, task);
synchronized (tasks) {
tasks.put(task, stack);
@@ -226,19 +232,25 @@
public void statusChanged(StatusEvent e) {
try {
int status = e.getStatus().getStatusCode();
- if (logger.isInfoEnabled()) {
- logger.info("Task status changed " + e.getSource().getIdentity() + " " + status);
+ if (logger.isDebugEnabled()) {
+ logger.debug("Task status changed " + e.getSource().getIdentity() + " " + status);
}
if (!e.getStatus().isTerminal()) {
return;
}
Task task = (Task) e.getSource();
- VariableStack stack = (VariableStack) tasks.get(task);
+ VariableStack stack;
+ synchronized (tasks) {
+ stack = (VariableStack) tasks.get(task);
+ }
if (stack == null) {
logger.warn("Received status event from unknown task " + e.getSource());
+ return;
}
try {
- logger.debug("Got status event: " + status);
+ if (logger.isDebugEnabled()) {
+ logger.debug("Got status event: " + status);
+ }
Scheduler scheduler = getScheduler(stack);
if (scheduler != null) {
scheduler.removeJobStatusListener(this, task);
@@ -275,13 +287,15 @@
logger.warn("Task being removed twice?", new Throwable());
}
}
- logger.debug("Tasks in the map: " + tasks.size());
+ if (logger.isDebugEnabled()) {
+ logger.debug("Tasks in the map: " + tasks.size());
+ }
}
protected void taskFailed(StatusEvent e, VariableStack stack) throws ExecutionException {
- if (logger.isInfoEnabled()) {
+ if (logger.isDebugEnabled()) {
Task t = (Task) e.getSource();
- logger.info("Failed task: " + t.getSpecification() + " on " + t.getAllServices());
+ logger.debug("Failed task: " + t.getSpecification() + " on " + t.getAllServices());
}
Exception ex = e.getStatus().getException();
if (ex != null) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-09-27 16:54:16
|
Revision: 1761
http://cogkit.svn.sourceforge.net/cogkit/?rev=1761&view=rev
Author: hategan
Date: 2007-09-27 09:54:10 -0700 (Thu, 27 Sep 2007)
Log Message:
-----------
set identity on both scheduled and unscheduled tasks
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-09-27 00:12:38 UTC (rev 1760)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2007-09-27 16:54:10 UTC (rev 1761)
@@ -187,8 +187,10 @@
}
}
}
+
public void submitUnscheduled(TaskHandler handler, Task task, VariableStack stack)
throws ExecutionException {
+ setTaskIdentity(stack, task);
task.addStatusListener(this);
stack.setVar(HANDLER, handler);
synchronized (tasks) {
@@ -210,14 +212,10 @@
}
}
}
+
public void submitScheduled(Scheduler scheduler, Task task, VariableStack stack,
Object constraints) {
- try {
- task.setIdentity(new IdentityImpl(ThreadingContext.get(stack).toString()));
- }
- catch (VariableNotFoundException e) {
- // such is life
- }
+ setTaskIdentity(stack, task);
if (logger.isDebugEnabled()) {
logger.debug(task);
logger.debug("Submitting task " + task.getIdentity());
@@ -228,6 +226,15 @@
}
scheduler.enqueue(task, constraints);
}
+
+ protected void setTaskIdentity(VariableStack stack, Task task) {
+ try {
+ task.setIdentity(new IdentityImpl(ThreadingContext.get(stack).toString()));
+ }
+ catch (VariableNotFoundException e) {
+ // such is life
+ }
+ }
public void statusChanged(StatusEvent e) {
try {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-01-05 02:43:29
|
Revision: 1864
http://cogkit.svn.sourceforge.net/cogkit/?rev=1864&view=rev
Author: hategan
Date: 2008-01-04 18:43:28 -0800 (Fri, 04 Jan 2008)
Log Message:
-----------
absence of a scheduler doesn't mean we can rely on preemptive threading
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2008-01-05 02:42:00 UTC (rev 1863)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2008-01-05 02:43:28 UTC (rev 1864)
@@ -31,6 +31,7 @@
import org.globus.cog.abstraction.interfaces.TaskHandler;
import org.globus.cog.karajan.arguments.Arg;
import org.globus.cog.karajan.scheduler.Scheduler;
+import org.globus.cog.karajan.scheduler.submitQueue.NonBlockingSubmit;
import org.globus.cog.karajan.stack.VariableNotFoundException;
import org.globus.cog.karajan.stack.VariableStack;
import org.globus.cog.karajan.util.BoundContact;
@@ -197,7 +198,7 @@
tasks.put(task, stack);
}
try {
- handler.submit(task);
+ new NonBlockingSubmit(handler, task, null).go();
}
catch (Exception e) {
// avoid failing twice if status is already set
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-05-02 20:40:24
|
Revision: 1999
http://cogkit.svn.sourceforge.net/cogkit/?rev=1999&view=rev
Author: hategan
Date: 2008-05-02 13:40:21 -0700 (Fri, 02 May 2008)
Log Message:
-----------
expose task stacks to descendants
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2008-04-30 23:36:25 UTC (rev 1998)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2008-05-02 20:40:21 UTC (rev 1999)
@@ -148,6 +148,7 @@
public static final Arg A_SECURITY_CONTEXT = new Arg.TypedPositional("securityContext",
SecurityContext.class, "Security Context");
+
public void setSecurityContext(VariableStack stack, Service service) throws ExecutionException {
if (A_SECURITY_CONTEXT.isPresent(stack)) {
SecurityContext sc = (SecurityContext) A_SECURITY_CONTEXT.getValue(stack);
@@ -188,7 +189,7 @@
}
}
}
-
+
public void submitUnscheduled(TaskHandler handler, Task task, VariableStack stack)
throws ExecutionException {
setTaskIdentity(stack, task);
@@ -213,7 +214,7 @@
}
}
}
-
+
public void submitScheduled(Scheduler scheduler, Task task, VariableStack stack,
Object constraints) {
setTaskIdentity(stack, task);
@@ -227,7 +228,7 @@
}
scheduler.enqueue(task, constraints);
}
-
+
protected void setTaskIdentity(VariableStack stack, Task task) {
try {
task.setIdentity(new IdentityImpl(ThreadingContext.get(stack).toString()));
@@ -237,6 +238,12 @@
}
}
+ protected VariableStack getStack(Task t) {
+ synchronized (tasks) {
+ return (VariableStack) tasks.get(t);
+ }
+ }
+
public void statusChanged(StatusEvent e) {
try {
int status = e.getStatus().getStatusCode();
@@ -247,10 +254,7 @@
return;
}
Task task = (Task) e.getSource();
- VariableStack stack;
- synchronized (tasks) {
- stack = (VariableStack) tasks.get(task);
- }
+ VariableStack stack = getStack(task);
if (stack == null) {
logger.warn("Received status event from unknown task " + e.getSource());
return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2008-05-30 03:00:41
|
Revision: 2031
http://cogkit.svn.sourceforge.net/cogkit/?rev=2031&view=rev
Author: hategan
Date: 2008-05-29 20:00:39 -0700 (Thu, 29 May 2008)
Log Message:
-----------
added exception to signature
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2008-05-27 19:09:34 UTC (rev 2030)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/workflow/nodes/grid/AbstractGridNode.java 2008-05-30 03:00:39 UTC (rev 2031)
@@ -216,7 +216,7 @@
}
public void submitScheduled(Scheduler scheduler, Task task, VariableStack stack,
- Object constraints) {
+ Object constraints) throws ExecutionException {
setTaskIdentity(stack, task);
if (logger.isDebugEnabled()) {
logger.debug(task);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|