summaryrefslogtreecommitdiffstats
path: root/docproc
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2019-03-25 12:36:39 +0100
committerLester Solbakken <lesters@oath.com>2019-03-25 12:36:39 +0100
commit4f42f214d728811f5a6328973ce098731f13cbd5 (patch)
treec0ceb6f12fe02e002c40b23f65a9a5fadf59d699 /docproc
parentecc85caf90c7ee6c81684400072048fa48053d0f (diff)
Set number of potential docproc threads to unbounded
Diffstat (limited to 'docproc')
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java4
-rw-r--r--docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java2
-rw-r--r--docproc/src/main/resources/configdefinitions/docproc.def2
3 files changed, 4 insertions, 4 deletions
diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java
index 1d3e85057ec..23ab73c7f1d 100644
--- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java
+++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocprocThreadPoolExecutor.java
@@ -20,8 +20,8 @@ public class DocprocThreadPoolExecutor extends ThreadPoolExecutor {
public DocprocThreadPoolExecutor(int maxNumThreads, BlockingQueue<Runnable> queue, DocprocThreadManager threadMgr) {
super((maxNumThreads > 0) ? maxNumThreads : Runtime.getRuntime().availableProcessors(),
- (maxNumThreads > 0) ? maxNumThreads : Runtime.getRuntime().availableProcessors(),
- 5, TimeUnit.MINUTES,
+ (maxNumThreads > 0) ? maxNumThreads : 8192,
+ 1, TimeUnit.SECONDS,
queue,
new DaemonThreadFactory("docproc-"));
this.threadManager = threadMgr;
diff --git a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java
index 1b84d0f9ffa..18c3cbadd3a 100644
--- a/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java
+++ b/docproc/src/main/java/com/yahoo/docproc/jdisc/DocumentProcessingHandler.java
@@ -93,7 +93,7 @@ public class DocumentProcessingHandler extends AbstractRequestHandler {
(params.getMaxQueueTimeMs() > 0)
? new ThroughputLimitQueue<>(params.getMaxQueueTimeMs())
: (params.getMaxQueueTimeMs() < 0)
- ? new LinkedBlockingQueue<>()
+ ? new SynchronousQueue<>()
: new PriorityBlockingQueue<>(), //Probably no need to bound this queue, see bug #4254537
new DocprocThreadManager(params.getMaxConcurrentFactor(),
params.getDocumentExpansionFactor(),
diff --git a/docproc/src/main/resources/configdefinitions/docproc.def b/docproc/src/main/resources/configdefinitions/docproc.def
index 3b4c4fc5b16..396e204054e 100644
--- a/docproc/src/main/resources/configdefinitions/docproc.def
+++ b/docproc/src/main/resources/configdefinitions/docproc.def
@@ -4,7 +4,7 @@ namespace=config.docproc
# Queue size (in milliseconds) for this node
# Positive size gives a ThroughPutLimitQueue. ### Experimental.
# 0 Gives a PriorityQueue
-# Negative values gives a ordinary LinkedBlockingQueue. This is fastest and most efficient.
+# Negative values gives a SynchronousQueue, in effect increasing number of threads as required (if numthreads == -1)
maxqueuetimems int default=-1
#The number of threads in the DocprocHandler worker thread pool