Lucene - Core
  1. Lucene - Core
  2. LUCENE-2634

IndexReader.isCurrent() lies if documents were only removed by latest commit

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.9.3
    • Fix Version/s: 2.9.4, 3.0.3, 3.1, 4.0-ALPHA
    • Component/s: None
    • Labels:
      None
    • Environment:

      Ubuntu 9.10
      Sun-java-jdk 1.6.0_20-b02

    • Lucene Fields:
      New

      Description

      Usecase is as following:

      1. Get indexReader via indexWriter.
      2. Delete documents by Term via indexWriter.
      3. Commit indexWriter.
      4. indexReader.isCurrent() returns true.

      Usually there is a check if index reader is current. If not then it is reopened (re-obtained via writer or ect.). But this causes the problem when documents can still be found through the search after deletion.
      Testcase is attached.

      1. TestIsCurrent.java
        3 kB
        Nikolay Zamosenchuk
      2. LUCENE-2634.patch
        6 kB
        Michael McCandless

        Activity

        Hide
        Michael McCandless added a comment -

        Nice catch – thanks Nikolay!

        I attached a patch, including tweaked test case (added copyright, removed @author, cutover to random) and fix.

        In the NRT case we were failing to check whether a commit had occurred since the NRT reader was opened.

        Show
        Michael McCandless added a comment - Nice catch – thanks Nikolay! I attached a patch, including tweaked test case (added copyright, removed @author, cutover to random) and fix. In the NRT case we were failing to check whether a commit had occurred since the NRT reader was opened.
        Hide
        Nikolay Zamosenchuk added a comment -

        Thanks for quick reaction and response!

        Show
        Nikolay Zamosenchuk added a comment - Thanks for quick reaction and response!
        Hide
        Michael McCandless added a comment -

        Thank you for discovering & raising the bug! That's the hardest part

        Show
        Michael McCandless added a comment - Thank you for discovering & raising the bug! That's the hardest part

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development