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

NRTCachingDirectory, to buffer small segments in a RAMDir

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2, 4.0-ALPHA
    • Component/s: core/store
    • Labels:
      None
    • Lucene Fields:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: