[
https://issues.apache.org/jira/browse/LUCENE-7588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15805029#comment-15805029
]
Emmanuel Keller commented on LUCENE-7588:
-----------------------------------------
Ok, I am able to reproduce the failure on my own environment. I try to fix that
now.
{noformat}
[junit4] 2> NOTE: reproduce with: ant test
-Dtestcase=TestParallelDrillSideways -Dtests.method=testRandom
-Dtests.seed=734B3451E1B6F47B -Dtests.slow=true -Dtests.locale=ar-BH
-Dtests.timezone=America/North_Dakota/Center -Dtests.asserts=true
-Dtests.file.encoding=US-ASCII
[junit4] FAILURE 3.50s | TestParallelDrillSideways.testRandom <<<
[junit4] > Throwable #1: org.junit.ComparisonFailure: expected:<1[00]4>
but was:<1[]4>
[junit4] > at
__randomizedtesting.SeedInfo.seed([734B3451E1B6F47B:107115E50D64208]:0)
[junit4] > at
org.apache.lucene.facet.TestDrillSideways.verifyEquals(TestDrillSideways.java:1036)
[junit4] > at
org.apache.lucene.facet.TestDrillSideways.testRandom(TestDrillSideways.java:820)
[junit4] > at java.lang.Thread.run(Thread.java:745)
[junit4] 2> Jan 06, 2017 6:09:15 PM
com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks
[junit4] 2> WARNING: Will linger awaiting termination of 1 leaked
thread(s).
[junit4] 2> Jan 06, 2017 6:09:35 PM
com.carrotsearch.randomizedtesting.ThreadLeakControl checkThreadLeaks
[junit4] 2> SEVERE: 1 thread leaked from SUITE scope at
org.apache.lucene.facet.TestParallelDrillSideways:
[junit4] 2> 1) Thread[id=17, name=LuceneTestCase-1-thread-1,
state=WAITING, group=TGRP-TestParallelDrillSideways]
[junit4] 2> at sun.misc.Unsafe.park(Native Method)
[junit4] 2> at
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
[junit4] 2> at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
[junit4] 2> at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
[junit4] 2> at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
[junit4] 2> at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
[junit4] 2> at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[junit4] 2> at java.lang.Thread.run(Thread.java:745)
[junit4] 2> Jan 06, 2017 6:09:35 PM
com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll
[junit4] 2> INFO: Starting to interrupt leaked threads:
[junit4] 2> 1) Thread[id=17, name=LuceneTestCase-1-thread-1,
state=WAITING, group=TGRP-TestParallelDrillSideways]
[junit4] 2> Jan 06, 2017 6:09:38 PM
com.carrotsearch.randomizedtesting.ThreadLeakControl tryToInterruptAll
[junit4] 2> SEVERE: There are still zombie threads that couldn't be
terminated:
[junit4] 2> 1) Thread[id=17, name=LuceneTestCase-1-thread-1,
state=WAITING, group=TGRP-TestParallelDrillSideways]
[junit4] 2> at sun.misc.Unsafe.park(Native Method)
[junit4] 2> at
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
[junit4] 2> at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
[junit4] 2> at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
[junit4] 2> at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
[junit4] 2> at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
[junit4] 2> at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[junit4] 2> at java.lang.Thread.run(Thread.java:745)
{noformat}
> A parallel DrillSideways implementation
> ---------------------------------------
>
> Key: LUCENE-7588
> URL: https://issues.apache.org/jira/browse/LUCENE-7588
> Project: Lucene - Core
> Issue Type: Improvement
> Affects Versions: master (7.0), 6.3.1
> Reporter: Emmanuel Keller
> Priority: Minor
> Labels: facet, faceting
> Fix For: master (7.0), 6.4
>
> Attachments: LUCENE-7588.patch
>
>
> Currently DrillSideways implementation is based on the single threaded
> IndexSearcher.search(Query query, Collector results).
> On large document set, the single threaded collection can be really slow.
> The ParallelDrillSideways implementation could:
> 1. Use the CollectionManager based method IndexSearcher.search(Query query,
> CollectorManager collectorManager) to get the benefits of multithreading on
> index segments,
> 2. Compute each DrillSideway subquery on a single thread.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]