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);
+        }
     }
 }


Reply via email to