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

Chetan Mehrotra commented on OAK-5238:
--------------------------------------

bq. Maybe the IndexCopier could create the blob asynchronously and then update 
the node builder while holding a lock?

Yes but then also blob data needs to be held in memory. Or we have some sync 
points with main indexing thread where LuceneIndexEditor does a callback on 
OakDirectory to push the changes for e.g. in DefaultIndexWriter#updateDocument 
call

> IndexCopier causes concurrent update on NodeBuilder
> ---------------------------------------------------
>
>                 Key: OAK-5238
>                 URL: https://issues.apache.org/jira/browse/OAK-5238
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: lucene
>    Affects Versions: 1.2.3, 1.0.15, 1.4.0
>            Reporter: Marcel Reutegger
>            Assignee: Marcel Reutegger
>              Labels: candidate_oak_1_4
>             Fix For: 1.6
>
>         Attachments: OAK-5238.patch
>
>
> OAK-2247 introduced the copy-on-write feature for lucene index in Oak. This 
> feature may result in a NodeBuilder updated by multiple threads concurrently. 
> New index files are first stored on the local filesystem and then copied 
> asynchronously into the repository. At the same time the async index update 
> thread manipulates the node builders as well.
> With MongoMK this results in unexpected conflicts and failed async index 
> updates.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to