lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hoss Man (JIRA)" <>
Subject [jira] [Commented] (SOLR-2548) Multithreaded faceting
Date Wed, 04 Sep 2013 16:46:52 GMT


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:
>             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,
> 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:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message