|
From: <ha...@us...> - 2006-10-11 20:21:17
|
Revision: 896
http://svn.sourceforge.net/cogkit/?rev=896&view=rev
Author: hategan
Date: 2006-10-11 13:21:12 -0700 (Wed, 11 Oct 2006)
Log Message:
-----------
avoid catching and not propagating ThreadDeath
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2006-10-11 20:19:20 UTC (rev 895)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2006-10-11 20:21:12 UTC (rev 896)
@@ -77,6 +77,13 @@
catch (Exception e) {
notifyPreviousQueue(e);
}
+ catch (ThreadDeath td) {
+ throw td;
+ }
+ catch (Throwable t) {
+ notifyPreviousQueue(new Exception(t));
+ t.printStackTrace();
+ }
}
public int getAttempts() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-01-28 17:52:40
|
Revision: 1560
http://svn.sourceforge.net/cogkit/?rev=1560&view=rev
Author: hategan
Date: 2007-01-28 09:52:33 -0800 (Sun, 28 Jan 2007)
Log Message:
-----------
added an id to the thread name
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-01-28 17:50:12 UTC (rev 1559)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-01-28 17:52:33 UTC (rev 1560)
@@ -23,11 +23,15 @@
private SubmitQueue[] queues;
private int currentQueue;
private int attempts;
+ private int id;
+
+ private static volatile int sid = 0;
public NonBlockingSubmit(TaskHandler th, Task task, SubmitQueue[] queues) {
this.taskHandler = th;
this.task = task;
this.queues = queues;
+ id = sid++;
attempts = 0;
}
@@ -40,7 +44,7 @@
queues[currentQueue++].queue(this);
}
else {
- new Thread(this, "Submit").start();
+ new Thread(this, "Submit"+id).start();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-03-11 19:59:11
|
Revision: 1607
http://svn.sourceforge.net/cogkit/?rev=1607&view=rev
Author: hategan
Date: 2007-03-11 12:59:10 -0700 (Sun, 11 Mar 2007)
Log Message:
-----------
use a thread pool
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-03-11 19:58:47 UTC (rev 1606)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-03-11 19:59:10 UTC (rev 1607)
@@ -15,9 +15,13 @@
import org.globus.cog.abstraction.interfaces.Task;
import org.globus.cog.abstraction.interfaces.TaskHandler;
+import edu.emory.mathcs.backport.java.util.concurrent.ExecutorService;
+import edu.emory.mathcs.backport.java.util.concurrent.Executors;
+
public class NonBlockingSubmit implements Runnable {
private static final Logger logger = Logger.getLogger(NonBlockingSubmit.class);
+ private static ExecutorService pool = Executors.newCachedThreadPool();
private final TaskHandler taskHandler;
private final Task task;
private SubmitQueue[] queues;
@@ -44,7 +48,7 @@
queues[currentQueue++].queue(this);
}
else {
- new Thread(this, "Submit"+id).start();
+ pool.submit(this);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-10-02 14:37:29
|
Revision: 1770
http://cogkit.svn.sourceforge.net/cogkit/?rev=1770&view=rev
Author: hategan
Date: 2007-10-02 07:37:27 -0700 (Tue, 02 Oct 2007)
Log Message:
-----------
I wonder how this commit got lost
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-10-01 19:15:49 UTC (rev 1769)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-10-02 14:37:27 UTC (rev 1770)
@@ -64,12 +64,13 @@
else {
if (ex != null) {
Status st = task.getStatus();
- if (st.getStatusCode() != Status.FAILED) {
- logger.warn("Warning: Task handler throws exception but does not set status",
- ex);
- Status ns = new StatusImpl();
- ns.setStatusCode(Status.FAILED);
- ns.setException(ex);
+ if (st.getStatusCode() == Status.FAILED) {
+ logger.warn("Warning: Task handler throws exception and also sets status");
+ }
+ else {
+ Status ns = new StatusImpl();
+ ns.setStatusCode(Status.FAILED);
+ ns.setException(ex);
task.setStatus(ns);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ha...@us...> - 2007-10-06 19:34:49
|
Revision: 1780
http://cogkit.svn.sourceforge.net/cogkit/?rev=1780&view=rev
Author: hategan
Date: 2007-10-06 12:34:45 -0700 (Sat, 06 Oct 2007)
Log Message:
-----------
thread pool threads should be daemon threads
Modified Paths:
--------------
trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
Modified: trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java
===================================================================
--- trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-10-04 14:41:30 UTC (rev 1779)
+++ trunk/current/src/cog/modules/karajan/src/org/globus/cog/karajan/scheduler/submitQueue/NonBlockingSubmit.java 2007-10-06 19:34:45 UTC (rev 1780)
@@ -17,25 +17,28 @@
import edu.emory.mathcs.backport.java.util.concurrent.ExecutorService;
import edu.emory.mathcs.backport.java.util.concurrent.Executors;
+import edu.emory.mathcs.backport.java.util.concurrent.ThreadFactory;
public class NonBlockingSubmit implements Runnable {
private static final Logger logger = Logger.getLogger(NonBlockingSubmit.class);
- private static ExecutorService pool = Executors.newCachedThreadPool();
+ private static ExecutorService pool = Executors.newCachedThreadPool(new DaemonThreadFactory(
+ Executors.defaultThreadFactory()));
+
private final TaskHandler taskHandler;
private final Task task;
private SubmitQueue[] queues;
private int currentQueue;
private int attempts;
- private int id;
-
- private static volatile int sid = 0;
+ private int id;
+ private static volatile int sid = 0;
+
public NonBlockingSubmit(TaskHandler th, Task task, SubmitQueue[] queues) {
this.taskHandler = th;
this.task = task;
this.queues = queues;
- id = sid++;
+ id = sid++;
attempts = 0;
}
@@ -48,7 +51,7 @@
queues[currentQueue++].queue(this);
}
else {
- pool.submit(this);
+ pool.submit(this);
}
}
@@ -68,9 +71,9 @@
logger.warn("Warning: Task handler throws exception and also sets status");
}
else {
- Status ns = new StatusImpl();
- ns.setStatusCode(Status.FAILED);
- ns.setException(ex);
+ Status ns = new StatusImpl();
+ ns.setStatusCode(Status.FAILED);
+ ns.setException(ex);
task.setStatus(ns);
}
}
@@ -106,6 +109,19 @@
public TaskHandler getTaskHandler() {
return taskHandler;
}
-
-
+
+ static class DaemonThreadFactory implements ThreadFactory {
+ private ThreadFactory delegate;
+
+ public DaemonThreadFactory(ThreadFactory delegate) {
+ this.delegate = delegate;
+ }
+
+ public Thread newThread(Runnable r) {
+ Thread t = delegate.newThread(r);
+ t.setDaemon(true);
+ return t;
+ }
+
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|