[ 
https://issues.apache.org/jira/browse/LUCENE-4163?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-4163:
----------------------------------

    Attachment: LUCENE-4163.patch

Slightly improved test (null keys and iterator conformance).

I think that's ready to commit and brings a big improvement in concurrency. We 
should backport this to 3.6.1!
                
> Improve concurrency in MMapIndexInput.clone()
> ---------------------------------------------
>
>                 Key: LUCENE-4163
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4163
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: core/store
>    Affects Versions: 3.6, 4.0, 5.0
>            Reporter: Uwe Schindler
>            Assignee: Uwe Schindler
>             Fix For: 4.0, 3.6.1, 5.0
>
>         Attachments: LUCENE-4163.patch, LUCENE-4163.patch
>
>
> Followup issue from SOLR-3566:
> Whenever you clone the TermIndex, it also creates a clone of the underlying 
> IndexInputs. In high cocurrent environments, the clone method of 
> MMapIndexInput is a bottleneck (it has heavy work to do to manage the weak 
> references in a synchronized block).
> Everywhere else in Lucene we use my new WeakIdentityMap for managing 
> concurrent weak maps. For this case I did not do this, as the WeakIdentityMap 
> has no iterators (it doe snot implement Map interface). This issue will add a 
> key and values iterator (the key iterator will not return GC'ed keys), so 
> MMapIndexInput can use WeakIdentityMap backed by ConcurrentHashMap and needs 
> no synchronization. ConcurrentHashMap has better concurrency because it 
> distributes the hash keys in different buckets per thread.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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