You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jason Rutherglen (JIRA)" <ji...@apache.org> on 2009/11/13 20:11:39 UTC

[jira] Created: (LUCENE-2063) Use thread pool in ConcurrentMergeScheduler

Use thread pool in ConcurrentMergeScheduler
-------------------------------------------

                 Key: LUCENE-2063
                 URL: https://issues.apache.org/jira/browse/LUCENE-2063
             Project: Lucene - Java
          Issue Type: Improvement
          Components: Index
    Affects Versions: 2.9.1
            Reporter: Jason Rutherglen
            Priority: Minor
             Fix For: 3.1


Currently it looks like CMS creates a new thread object for each
merge, which may not be expensive anymore on Java5+ JVMs,
however we can fairly simply implement the Java5 thread pooling.
Also I'm thinking we may be interested in using thread pools for
other tasks in IndexWriter (such as LUCENE-2047 performing
deletes in the background). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-2063) Use thread pool in ConcurrentMergeScheduler

Posted by "Jason Rutherglen (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12777666#action_12777666 ] 

Jason Rutherglen commented on LUCENE-2063:
------------------------------------------

Right, this isn't the highest priority, however try running the
LUCENE-1313 and you'll see a lot of unique thread objects being
created because of the small segment merges happening quickly on
the RAMDir. 

It can also potentially be used for LUCENE-2047, or a follow on
async patch.

> Use thread pool in ConcurrentMergeScheduler
> -------------------------------------------
>
>                 Key: LUCENE-2063
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2063
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>    Affects Versions: 2.9.1
>            Reporter: Jason Rutherglen
>            Priority: Minor
>             Fix For: 3.1
>
>
> Currently it looks like CMS creates a new thread object for each
> merge, which may not be expensive anymore on Java5+ JVMs,
> however we can fairly simply implement the Java5 thread pooling.
> Also I'm thinking we may be interested in using thread pools for
> other tasks in IndexWriter (such as LUCENE-2047 performing
> deletes in the background). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


[jira] Commented: (LUCENE-2063) Use thread pool in ConcurrentMergeScheduler

Posted by "Simon Willnauer (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/LUCENE-2063?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12777645#action_12777645 ] 

Simon Willnauer commented on LUCENE-2063:
-----------------------------------------

One of the issues with this is that the code depends on Thread instead of Runnable / Callable. I have looked into this class too and figured that simply exchanging the merger threads with runnables would not work. 
A way of doing this is to subclass ExecutorService where we can expose the required functionality on a pooled basis.
Beside this I'm not sure if there is any benefit performance / resource wise as merge threads are not needed as frequently as other threads. Threadpools make a lot of sense  once you use threads frequently but keeping those merge threads around might not be required. Not sure if this is really needed though.

simon

> Use thread pool in ConcurrentMergeScheduler
> -------------------------------------------
>
>                 Key: LUCENE-2063
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2063
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Index
>    Affects Versions: 2.9.1
>            Reporter: Jason Rutherglen
>            Priority: Minor
>             Fix For: 3.1
>
>
> Currently it looks like CMS creates a new thread object for each
> merge, which may not be expensive anymore on Java5+ JVMs,
> however we can fairly simply implement the Java5 thread pooling.
> Also I'm thinking we may be interested in using thread pools for
> other tasks in IndexWriter (such as LUCENE-2047 performing
> deletes in the background). 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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