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