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

Don't call MergePolicy / IndexWriter during DWPT Flush


    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 4.3, 6.0
    • Fix Version/s: 4.4, 6.0
    • Component/s: core/index
    • Labels:
    • Lucene Fields:
      New, Patch Available


      We currently consult the indexwriter -> merge policy to decide if we need to write CFS or not which is bad in many ways.

      • we should call mergepolicy only during merges
      • we should never sync on IW during DWPT flush
      • we should be able to make the decision if we need to write CFS or not before flush, ie. we could write parts of the flush directly to CFS or even start writing stored fields directly.
      • in the NRT case it might make sense to write all flushes to CFS to minimize filedescriptors independent of the index size.

      I wonder if we can use a simple boolean for this in the IWC and get away with not consulting merge policy. This would simplify concurrency a lot here already.


        1. LUCENE-5038.patch
          70 kB
          Simon Willnauer
        2. LUCENE-5038.patch
          70 kB
          Simon Willnauer
        3. LUCENE-5038.patch
          48 kB
          Simon Willnauer
        4. LUCENE-5038.patch
          16 kB
          Simon Willnauer
        5. LUCENE-5038.patch
          14 kB
          Simon Willnauer
        6. LUCENE-5038.patch
          13 kB
          Simon Willnauer

          Issue Links



              • Assignee:
                simonw Simon Willnauer
                simonw Simon Willnauer
              • Votes:
                0 Vote for this issue
                3 Start watching this issue


                • Created: