Author: jbellis
Date: Thu Jan 27 16:22:07 2011
New Revision: 1064181
URL: http://svn.apache.org/viewvc?rev=1064181&view=rev
Log:
revert 2050 entirely
Modified:
cassandra/branches/cassandra-0.7/CHANGES.txt
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1064181&r1=1064180&r2=1064181&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Thu Jan 27 16:22:07 2011
@@ -3,7 +3,6 @@
* add JVM shutdownhook to sync commitlog (CASSANDRA-1919)
* allow nodes to be up without being part of normal traffic (CASSANDRA-1951)
* fix CLI "show keyspaces" with null options on NTS (CASSANDRA-2049)
- * remove jetty dependency from AbstractCassandraDaemon (CASSANDRA-2050)
0.7.1
Modified:
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java?rev=1064181&r1=1064180&r2=1064181&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
(original)
+++
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/AbstractCassandraDaemon.java
Thu Jan 27 16:22:07 2011
@@ -45,6 +45,7 @@ import org.apache.cassandra.db.migration
import org.apache.cassandra.utils.CLibrary;
import org.apache.cassandra.utils.FBUtilities;
import org.apache.cassandra.utils.Mx4jTool;
+import org.mortbay.thread.ThreadPool;
/**
* The <code>CassandraDaemon</code> is an abstraction for a Cassandra daemon
@@ -348,7 +349,7 @@ public abstract class AbstractCassandraD
* A subclass of Java's ThreadPoolExecutor which implements Jetty's
ThreadPool
* interface (for integration with Avro), and performs ClientState cleanup.
*/
- public static class CleaningThreadPool extends ThreadPoolExecutor
+ public static class CleaningThreadPool extends ThreadPoolExecutor
implements ThreadPool
{
private ThreadLocal<ClientState> state;
public CleaningThreadPool(ThreadLocal<ClientState> state, int
minWorkerThread, int maxWorkerThreads)
@@ -364,6 +365,42 @@ public abstract class AbstractCassandraD
state.get().logout();
}
+ /*********************************************************************/
+ /** The following are cribbed from org.mortbay.thread.concurrent */
+ /*********************************************************************/
+
+ public boolean dispatch(Runnable job)
+ {
+ try
+ {
+ execute(job);
+ return true;
+ }
+ catch(RejectedExecutionException e)
+ {
+ logger.error("Failed to dispatch thread:", e);
+ return false;
+ }
+ }
+ public int getIdleThreads()
+ {
+ return getPoolSize()-getActiveCount();
+ }
+
+ public int getThreads()
+ {
+ return getPoolSize();
+ }
+
+ public boolean isLowOnThreads()
+ {
+ return getActiveCount()>=getMaximumPoolSize();
+ }
+
+ public void join() throws InterruptedException
+ {
+ this.awaitTermination(Long.MAX_VALUE,TimeUnit.MILLISECONDS);
+ }
}
}