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

NRTCachingDirectory, to buffer small segments in a RAMDir

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
          16 kB
          Michael McCandless
        2. LUCENE-3092.patch
          18 kB
          Michael McCandless
        3. LUCENE-3092.patch
          16 kB
          Michael McCandless
        4. LUCENE-3092-listener.patch
          12 kB
          Chris Male
        5. LUCENE-3092.patch
          8 kB
          Michael McCandless

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: