[
https://issues.apache.org/jira/browse/OAK-2718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14394183#comment-14394183
]
Chetan Mehrotra commented on OAK-2718:
--------------------------------------
[~teofili] I can think of following options.
For 1.2
* Enable the observer via OSGi config i.e. it should work only if configured
* Wrap the observor with BackgroundObserver. See fix done for OAK-2570 for
similar issue
For proper fix (which might take some time) i.e. diff only selective part we
can take approach similar to one in Lucene. The {{IndexTracker}} tracks which
all Lucene index are in use and then diff is only performed for those paths.
This keeps the diff logic short and precise.
> NodeStateSolrServersObserver performs complete diff synchronously causing
> slowness in dispatch
> ----------------------------------------------------------------------------------------------
>
> Key: OAK-2718
> URL: https://issues.apache.org/jira/browse/OAK-2718
> Project: Jackrabbit Oak
> Issue Type: Bug
> Components: oak-solr
> Reporter: Chetan Mehrotra
> Assignee: Tommaso Teofili
> Fix For: 1.2
>
>
> {{NodeStateSolrServersObserver}} is enabled by default and performs diff
> synchronously. Further it performs complete diff which might take time and
> would cause the dispatch thread to slowdown.
> This would cause issues at least with {{DocumentNodeStore}} as there the
> dispatch is done as part of background read and that call is time sensitive.
> As a fix the diff should performed asynchronously and also be selective. A
> similar fix was done for Lucene index as part of OAK-2570
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)