|
From: <ha...@us...> - 2008-10-07 03:27:31
|
Revision: 2222
http://cogkit.svn.sourceforge.net/cogkit/?rev=2222&view=rev
Author: hategan
Date: 2008-10-07 03:26:44 +0000 (Tue, 07 Oct 2008)
Log Message:
-----------
avoid starting workers for tasks already running
Modified Paths:
--------------
trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java
Modified: trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java
===================================================================
--- trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java 2008-10-05 17:11:29 UTC (rev 2221)
+++ trunk/current/src/cog/modules/provider-coaster/src/org/globus/cog/abstraction/coaster/service/job/manager/WorkerManager.java 2008-10-07 03:26:44 UTC (rev 2222)
@@ -141,6 +141,7 @@
logger.info("Got allocation request: " + req);
}
}
+
try {
startWorker(new Seconds(req.maxWallTime.getSeconds())
.multiply(OVERALLOCATION_FACTOR)
@@ -188,6 +189,11 @@
copyAttributes(t, prototype, maxWallTime);
t.setRequiredService(1);
t.setService(0, buildService(prototype));
+ synchronized(this) {
+ if (!startingTasks.contains(prototype)) {
+ return;
+ }
+ }
Map newlyRequested = new HashMap();
for (int n = 0; n < numWorkers; n++) {
@@ -210,7 +216,6 @@
.getMessage(), e));
}
}
- System.err.println(t.getSpecification());
try {
handler.submit(t);
}
@@ -258,8 +263,6 @@
s.setSecurityContext(AbstractionFactory.newSecurityContext(s
.getProvider()));
}
- System.out.println("Worker start provider: " + s.getProvider());
- System.out.println("Worker start JM: " + s.getJobManager());
return s;
}
@@ -386,7 +389,9 @@
+ "). This worker manager instance does not "
+ "recall requesting a worker with such an id.");
}
- wr.setScheduledTerminationTime(Seconds.now().add(wr.getMaxWallTime()));
+ wr
+ .setScheduledTerminationTime(Seconds.now().add(
+ wr.getMaxWallTime()));
wr.setChannelContext(cc);
if (logger.isInfoEnabled()) {
logger.info("Worker registration received: " + wr);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|