[ https://issues.apache.org/jira/browse/LUCENE-1313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jason Rutherglen updated LUCENE-1313: ------------------------------------- Attachment: LUCENE-1313.patch I wanted to simplify a little more to more easily understand the edge cases that fail. In the multithreaded test, files were sometimes left open which is hard for me to debug. The TestNRT.testSimple method passes however, IndexFileDeleter is complaining about not being able to delete when expected which is shown in the IW.infoStream. The NRT.flush method creates a merge of all the ram segments, then calls IW.mergeIn to manually merge the ram segments into the writer. OneMerge contains the writer where the segment readers should be obtained from. In this case, the primary writer obtains the readers from the ram writer's readerpool. This is important because deletes may be coming in as we're merging. However I'm not sure this will work without a shared lock between the writers for commitMergedDeletes which requires syncing. Mike, can you take a look to see if this path will work? > Near Realtime Search (using a built in RAMDirectory) > ---------------------------------------------------- > > 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: 3.1 > > 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, 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