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

Michael McCandless commented on LUCENE-1313:
--------------------------------------------

{quote}
The SR should then be able to open the docstore file
cleanly regardless of the open IndexOutput adding more to the
file for the next rambuf segment?
{quote}

That's the crucial question: can we open a new IndexInput, while an IndexOutput 
is still writing to the file?  I vaguely remember being surprised that this 
worked fine on Windows, but I'm not sure.

If that's fine across all OS's, then, yes we could avoid closing the docStores 
when flushing a new segment.

If it's not fine, then we'd need a way to make an IndexOutputInput, which is a 
bigger change.

We also should [separately] consider having multiple SegmentReaders that share 
the same docStores, share a single set of IndexInputs (cloned).  Ie if the RAM 
MergePolicy allows many segments in RAM at once, we are still opening real file 
descriptors to read the doc stores, so without such sharing we could start 
running out of descriptors.

> Realtime Search
> ---------------
>
>                 Key: LUCENE-1313
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1313
>             Project: Lucene - Java
>          Issue Type: New Feature
>          Components: Index
>    Affects Versions: 2.4.1
>            Reporter: Jason Rutherglen
>            Priority: Minor
>             Fix For: 2.9
>
>         Attachments: LUCENE-1313.jar, LUCENE-1313.patch, LUCENE-1313.patch, 
> LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, 
> LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, LUCENE-1313.patch, 
> LUCENE-1313.patch, lucene-1313.patch, lucene-1313.patch, lucene-1313.patch, 
> lucene-1313.patch
>
>
> Enable near realtime search in Lucene without external
> dependencies. When RAM NRT is enabled, the implementation adds a
> RAMDirectory to IndexWriter. Flushes go to the ramdir unless
> there is no available space. Merges are completed in the ram
> dir until there is no more available ram. 
> IW.optimize and IW.commit flush the ramdir to the primary
> directory, all other operations try to keep segments in ram
> until there is no more space.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to