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

Merging of doc values, norms is not abortable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.10.4
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      When you call IW.rollback, IW asks all running merges to abort, and the merges should periodically check their abort flags (it's a "cooperative" mechanism, like thread interrupting in Java).

      In 5.x/trunk we have a nice clean solution where the Directory checks the abort bit during writes, so the codec doesn't have to bother with this.

      But in 4.x, we have to call MergeState.checkAbort.work, and I noticed that neither DVs nor norms call this.

      Typically this is not a problem since merging DVs and norms is usually fast, but for a very large merge / very many DVs and norm'd fields, it could take non-trivial time to merge.

        Attachments

        1. LUCENE-6306.patch
          3 kB
          Michael McCandless

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: