[ https://issues.apache.org/jira/browse/LUCENE-3092?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13032990#comment-13032990 ]
Michael McCandless commented on LUCENE-3092: -------------------------------------------- I agree it's scary/sneaky how this Dir impl associates threads w/ merge sizes... using IOCtx or events or something else would be better. IOCtx would be a nice fit for this... because then we take all thread association out of the picture. The IOCtx should reference the OneMerge (if in fact this file is being opened because of a merge)? Then this impl can look at that to make its decision, and there's no more coupling of this dir iml to the merge scheduler. Should we open a separate issue for the events listener? Actually there may already be an issue open...? bq. With all our pausing/unpausing magic there's no guarantee merge will end on the same thread it started on. The hard thread scheduling (forced pausing) that CMS does won't change the thread that runs the merge. That thread will forever run that merge (perhaps sometimes being paused) until that merge is done. At least, this is how it's impl'd today... > 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