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

Add utitily class to manage NRT reopening

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.3, 4.0-ALPHA
    • Component/s: core/index
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      I created a simple class, NRTManager, that tries to abstract away some
      of the reopen logic when using NRT readers.

      You give it your IW, tell it min and max nanoseconds staleness you can
      tolerate, and it privately runs a reopen thread to periodically reopen
      the searcher.

      It subsumes the SearcherManager from LIA2. Besides running the reopen
      thread, it also adds the notion of a "generation" containing changes
      you've made. So eg it has addDocument, returning a long. You can
      then take that long value and pass it back to the getSearcher method
      and getSearcher will return a searcher that reflects the changes made
      in that generation.

      This gives your app the freedom to force "immediate" consistency (ie
      wait for the reopen) only for those searches that require it, like a
      verifier that adds a doc and then immediately searches for it, but
      also use "eventual consistency" for other searches.

      I want to also add support for the new "applyDeletions" option when
      pulling an NRT reader.

      Also, this is very new and I'm sure buggy – the concurrency is either
      wrong over overly-locking. But it's a start...

        Attachments

        1. LUCENE-2955.patch
          23 kB
          Michael McCandless
        2. LUCENE-2955.patch
          44 kB
          Michael McCandless
        3. LUCENE-2955.patch
          49 kB
          Michael McCandless

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: