mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

boli
23.51.2009 1e65e604e015bdce85daa2ba7abc619e6e9caffd
Additional fix for issue 4117: Previous fix introduced a bug where a mod DN operation could corrupt the dn2id database.
2 files modified
11 ■■■■■ changed files
opends/src/server/org/opends/server/backends/jeb/EntryContainer.java 1 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java 10 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/backends/jeb/EntryContainer.java
@@ -2621,6 +2621,7 @@
          }
          // Get the next DN.
          data = new DatabaseEntry();
          status = cursor.getNext(key, data, LockMode.DEFAULT);
        }
      }
opends/tests/unit-tests-testng/src/server/org/opends/server/backends/jeb/TestBackendImpl.java
@@ -22,7 +22,7 @@
 * CDDL HEADER END
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Copyright 2006-2009 Sun Microsystems, Inc.
 */
package org.opends.server.backends.jeb;
@@ -1328,9 +1328,11 @@
      EntryID newID = ec.getDN2ID().get(null, DN.decode("ou=Good People,ou=JEB Testers,dc=test,dc=com"), LockMode.DEFAULT);
      assertNotNull(newID);
      assertTrue(newID.compareTo(newSuperiorID) > 0);
      assertNotNull(backend.getEntry(DN.decode("uid=user.0,ou=Good People,ou=JEB Testers,dc=test,dc=com")));
      EntryID newSubordinateID = ec.getDN2ID().get(null,
          DN.decode("uid=user.0,ou=Good People,ou=JEB Testers,dc=test,dc=com"), LockMode.DEFAULT);
      DN subDN = DN.decode("uid=user.0,ou=Good People,ou=JEB Testers,dc=test,dc=com");
      Entry subEntry = backend.getEntry(subDN);
      assertNotNull(subEntry);
      assertEquals(subDN, subEntry.getDN());
      EntryID newSubordinateID = ec.getDN2ID().get(null, subDN, LockMode.DEFAULT);
      assertTrue(newSubordinateID.compareTo(newID) > 0);
      assertNull(backend.getEntry(DN.decode("ou=People,dc=test,dc=com")));