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

Make CFS appendable

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 3.4, 4.0-ALPHA
    • 4.0-ALPHA
    • core/index
    • None
    • New, Patch Available

    Description

      Currently CFS is created once all files are written during a flush / merge. Once on disk the files are copied into the CFS format which is basically a unnecessary for some of the files. We can at any time write at least one file directly into the CFS which can save a reasonable amount of IO. For instance stored fields could be written directly during indexing and during a Codec Flush one of the written files can be appended directly. This optimization is a nice sideeffect for lucene indexing itself but more important for DocValues and LUCENE-3216 we could transparently pack per field files into a single file only for docvalues without changing any code once LUCENE-3216 is resolved.

      Attachments

        1. LUCENE-3218_3x.patch
          101 kB
          Simon Willnauer
        2. LUCENE-3218_test_fix.patch
          3 kB
          Simon Willnauer
        3. LUCENE-3218_tests.patch
          3 kB
          Robert Muir
        4. LUCENE-3218.patch
          69 kB
          Simon Willnauer
        5. LUCENE-3218.patch
          69 kB
          Simon Willnauer
        6. LUCENE-3218.patch
          63 kB
          Simon Willnauer
        7. LUCENE-3218.patch
          104 kB
          Simon Willnauer
        8. LUCENE-3218.patch
          104 kB
          Simon Willnauer
        9. LUCENE-3218.patch
          83 kB
          Simon Willnauer
        10. LUCENE-3218.patch
          62 kB
          Simon Willnauer

        Issue Links

          Activity

            People

              simonw Simon Willnauer
              simonw Simon Willnauer
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: