You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Chetan Mehrotra (JIRA)" <ji...@apache.org> on 2014/10/30 06:06:33 UTC

[jira] [Created] (OAK-2247) CopyOnWriteDirectory implementation for Lucene for use in indexing

Chetan Mehrotra created OAK-2247:
------------------------------------

             Summary: CopyOnWriteDirectory implementation for Lucene for use in indexing
                 Key: OAK-2247
                 URL: https://issues.apache.org/jira/browse/OAK-2247
             Project: Jackrabbit Oak
          Issue Type: Improvement
          Components: oak-lucene
            Reporter: Chetan Mehrotra
            Assignee: Chetan Mehrotra
             Fix For: 1.2


Currently a Lucene index when is written directly to OakDirectory. For reindex case it might happen that Lucene merge policy read the written index files again and then perform a sgement merge. This might have lower performance when OakDirectroy is writing to remote storage.

Instead of that we can implement a CopyOnWriteDirectory on similar lines to  OAK-1724 where CopyOnReadDirectory support copies the  index locally for faster access. 

At high level flow would be

# While writing index the index file is first written to local directory
# Any write is done locally and once a file is written its written asynchronously to OakDirectory
# When IndexWriter is closed it would wait untill all the write is completed

This needs to be benchmarked with existing reindex timings to see it its actually beneficial



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