You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2014/07/14 15:35:41 UTC

svn commit: r1610410 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/CHANGES.txt solr/core/ solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java

Author: shalin
Date: Mon Jul 14 13:35:41 2014
New Revision: 1610410

URL: http://svn.apache.org/r1610410
Log:
SOLR-6208: JettySolrRunner QueuedThreadPool's configuration code is never executed

Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/solr/core/   (props changed)
    lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java

Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1610410&r1=1610409&r2=1610410&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Mon Jul 14 13:35:41 2014
@@ -100,6 +100,8 @@ Bug Fixes
 * SOLR-6235: Leader initiated recovery should use coreNodeName instead of coreName to avoid marking
   all replicas having common core name as down. (shalin)
 
+* SOLR-6208: JettySolrRunner QueuedThreadPool's configuration code is never executed. (dweiss via shalin)
+
 Optimizations
 ---------------------
 

Modified: lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java?rev=1610410&r1=1610409&r2=1610410&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java (original)
+++ lucene/dev/branches/branch_4x/solr/core/src/java/org/apache/solr/client/solrj/embedded/JettySolrRunner.java Mon Jul 14 13:35:41 2014
@@ -25,6 +25,7 @@ import java.util.LinkedList;
 import java.util.Random;
 import java.util.SortedMap;
 import java.util.TreeMap;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicLong;
 
 import javax.servlet.DispatcherType;
@@ -228,7 +229,6 @@ public class JettySolrRunner {
       sslInit(useSsl, sslcontext);
 
       final Connector connector;
-      final QueuedThreadPool threadPool;
       if ("SelectChannel".equals(connectorName)) {
         final SelectChannelConnector c = useSsl
           ? new SslSelectChannelConnector(sslcontext)
@@ -237,7 +237,6 @@ public class JettySolrRunner {
         c.setLowResourcesMaxIdleTime(1500);
         c.setSoLingerTime(0);
         connector = c;
-        threadPool = (QueuedThreadPool) c.getThreadPool();
       } else if ("Socket".equals(connectorName)) {
         final SocketConnector c = useSsl
           ? new SslSocketConnector(sslcontext)
@@ -245,44 +244,31 @@ public class JettySolrRunner {
         c.setReuseAddress(true);
         c.setSoLingerTime(0);
         connector = c;
-        threadPool = (QueuedThreadPool) c.getThreadPool();
       } else {
         throw new IllegalArgumentException("Illegal value for system property 'tests.jettyConnector': " + connectorName);
       }
 
       connector.setPort(port);
       connector.setHost("127.0.0.1");
-      if (threadPool != null) {
-        threadPool.setMaxThreads(10000);
-        threadPool.setMaxIdleTimeMs(5000);
-        threadPool.setMaxStopTimeMs(30000);
-      }
-      
+
+      // Connectors by default inherit server's thread pool.
+      QueuedThreadPool qtp = new QueuedThreadPool();
+      qtp.setMaxThreads(10000);
+      qtp.setMaxIdleTimeMs((int) TimeUnit.SECONDS.toMillis(5));
+      qtp.setMaxStopTimeMs((int) TimeUnit.MINUTES.toMillis(1));
+      server.setThreadPool(qtp);
+
       server.setConnectors(new Connector[] {connector});
       server.setSessionIdManager(new HashSessionIdManager(new Random()));
     } else {
-      
-      for (Connector connector : server.getConnectors()) {
-        QueuedThreadPool threadPool = null;
-        if (connector instanceof SocketConnector) {
-          threadPool = (QueuedThreadPool) ((SocketConnector) connector)
-              .getThreadPool();
-        }
-        if (connector instanceof SelectChannelConnector) {
-          threadPool = (QueuedThreadPool) ((SelectChannelConnector) connector)
-              .getThreadPool();
-        }
-        
-        if (threadPool != null) {
-          threadPool.setMaxThreads(10000);
-          threadPool.setMaxIdleTimeMs(5000);
-          if (!stopAtShutdown) {
-            threadPool.setMaxStopTimeMs(100);
-          }
-        }
-        
+      if (server.getThreadPool() == null) {
+        // Connectors by default inherit server's thread pool.
+        QueuedThreadPool qtp = new QueuedThreadPool();
+        qtp.setMaxThreads(10000);
+        qtp.setMaxIdleTimeMs((int) TimeUnit.SECONDS.toMillis(5));
+        qtp.setMaxStopTimeMs((int) TimeUnit.SECONDS.toMillis(1));
+        server.setThreadPool(qtp);
       }
-
     }
 
     // Initialize the servlets