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

Jukka Zitting commented on OAK-1722:
------------------------------------

+1 Good point!

In revision 1587787 I committed a slightly modified version of the fix. Instead 
of removing synchronization on {{getIndexNode()}}, I dropped it from the 
potentially expensive content diff in the {{update()}} method. This way we can 
stick to just one synchronization mechanism within the class and still avoid 
having updates block index access.

> Use a shared IndexSearcher for performing Lucene queries
> --------------------------------------------------------
>
>                 Key: OAK-1722
>                 URL: https://issues.apache.org/jira/browse/OAK-1722
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: query
>            Reporter: Chetan Mehrotra
>            Assignee: Jukka Zitting
>             Fix For: 1.0, 1.1
>
>         Attachments: OAK-1722-improve-concurrency.patch
>
>
> Currently the Lucene integrations opens a new IndexSeracher for every read 
> call. This proves to be costly as per OAK-1702. Instead we should use a 
> shared IndexSearcher based on approach taken in Lucene 
> [SearcherManager|https://lucene.apache.org/core/3_6_0/api/all/org/apache/lucene/search/SearcherManager.html].
> Further there needs to be a way to pickup any changes in Lucene index across 
> cluster nodes



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to