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