Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-M3
    • Component/s: None
    • Labels:
      None

      Description

      During my experiments and tests of removing one-level and sub-level indices at least one integration test "SearchAuthorizationIT" failed (the test fails recursivelyDelete()). A debugging session showed that the follwing:

      • in recursivelyDelete() multiple search requests are done which leads to multiple open cursors in the XDBM search engine
      • an entry is deleted
      • when the open cursors are advanced wrong/unexpected entries are returned

      I was able to create a small test that shows the problem:

      • the index contains six tuples:
        (a,1)
        (b,2)
        (c,3)
        (d,4)
        (e,5)
        (f,6)
      • a cursor over the index is created and advanced two times, the expected tuples (a,1) and (b,2) were returned
      • now tuple (c,3) is deleted
      • when the cursor is advanced again the tuple (b,2) is returned again! I had expected (d,4).

      Note that this doesn't happen with AvlIndex.

        Attachments

        1. jdbm5.diff
          76 kB
          Selcuk Aya
        2. jdbm4.diff
          30 kB
          Selcuk Aya
        3. jdbm3.diff
          30 kB
          Selcuk Aya
        4. jdbm2.diff
          1 kB
          Selcuk Aya
        5. jdbm1.diff
          130 kB
          Selcuk Aya
        6. IndexTest.java
          4 kB
          Stefan Seelmann
        7. DIRSERVER-1642.patch
          25 kB
          Stefan Seelmann

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              seelmann Stefan Seelmann
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: