[ 
https://issues.apache.org/jira/browse/SOLR-2548?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13757931#comment-13757931
 ] 

Hoss Man commented on SOLR-2548:
--------------------------------

bq. Still checking on the implications of stacking up a bunch of 
directExecutors all through the CompletionService, not something I've used 
recently and the details are hazy.

unless i'm missing something, it should be a single directExecutor, and when a 
job is submitted to the CompletionService, nothing happens in the background at 
all -- the thread that submitted the job then immediately executes the job.  
Telling the COpmletionService to use the directExecutor is essentially a way of 
saying "when someone asks you to do execute X, make them do it themselves"

bq. Is there a decent way to check whether more than one thread was actually 
spawned?

I doubt it ... but it would be nice to at least know the functionality succeeds 
w/o failure.

There might be a way to subclass & instrument the ThreadPoolExecutor (or the 
Queue it uses to manage jobs) so that you could make it keep track of the max 
number of live threads at any one time, or the max size of the queue at any one 
time, and then your test could reach in and inspect either of those values to 
know if the _wrong_ thing happened (ie: too many threads spun up, or too many 
things enqueued w/o being handed to threads) ... but i'm not sure how hard that 
would be.

Acctually -- maybe a better thing to do would be to have the Callables record 
the thread id of whatever thread executed them, and include that in the debug 
info ... then the test could just confirm that all of the ids match and don't 
start with "facetExecutor-" in the directExecutor case, and that the number of 
unique ids seen is not greater then N in the facet.threads=N case.  (That debug 
info could theoretically be useful to end users as well, to see that multiple 
threads really are getting used)
                
> Multithreaded faceting
> ----------------------
>
>                 Key: SOLR-2548
>                 URL: https://issues.apache.org/jira/browse/SOLR-2548
>             Project: Solr
>          Issue Type: Improvement
>          Components: search
>    Affects Versions: 3.1
>            Reporter: Janne Majaranta
>            Assignee: Erick Erickson
>            Priority: Minor
>              Labels: facet
>         Attachments: SOLR-2548_4.2.1.patch, SOLR-2548_for_31x.patch, 
> SOLR-2548.patch, SOLR-2548.patch
>
>
> Add multithreading support for faceting.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to