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

Chris Male edited comment on LUCENE-3092 at 5/13/11 4:33 AM:
-------------------------------------------------------------

Patch which roughly does what I suggested.  Just a proof-of-concept since 
everything is currently tied to CMS (when it should work with any MS).

Introduces a MergeEvent and MergeListener.  MergeEvents are fired by CMS before 
and after merge is done.  NRTCachingDirectory implements MergeListener and does 
it stuff on firing of the Events.

There are dangers with calling listeners in a finally block but as I say, just 
a POC.

      was (Author: cmale):
    Patch which roughly does what I suggested.  Just a proof-of-concept since 
everything is currently tied to CMS (when it should work with any MS).

Introduces a MergeEvent and MergeListener.  MergeEvents are fired by CMS before 
and after merge is done.  NRTCachingDirectory implements MergeListener and does 
it stuff on firing of the Events.

There are dangers will calling listeners in a finally block but as I say, just 
a POC.
  
> NRTCachingDirectory, to buffer small segments in a RAMDir
> ---------------------------------------------------------
>
>                 Key: LUCENE-3092
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3092
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: Store
>            Reporter: Michael McCandless
>            Priority: Minor
>             Fix For: 3.2, 4.0
>
>         Attachments: LUCENE-3092-listener.patch, LUCENE-3092.patch
>
>
> I created this simply Directory impl, whose goal is reduce IO
> contention in a frequent reopen NRT use case.
> The idea is, when reopening quickly, but not indexing that much
> content, you wind up with many small files created with time, that can
> possibly stress the IO system eg if merges, searching are also
> fighting for IO.
> So, NRTCachingDirectory puts these newly created files into a RAMDir,
> and only when they are merged into a too-large segment, does it then
> write-through to the real (delegate) directory.
> This lets you spend some RAM to reduce I0.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to