[
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)