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

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: