Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-3092

NRTCachingDirectory, to buffer small segments in a RAMDir

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 3.2, 4.0-ALPHA
    • core/store
    • None
    • New

    Description

      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.

      Attachments

        1. LUCENE-3092.patch
          8 kB
          Michael McCandless
        2. LUCENE-3092-listener.patch
          12 kB
          Chris Male
        3. LUCENE-3092.patch
          16 kB
          Michael McCandless
        4. LUCENE-3092.patch
          18 kB
          Michael McCandless
        5. LUCENE-3092.patch
          16 kB
          Michael McCandless

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            mikemccand Michael McCandless
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment