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

Matthew Swift
03.07.2011 44569a077cf6c6bda9e27713a4e2ba1a2cfaa18c
IN PROGRESS - issue OPENDJ-23: Exception while replaying a delete operation using assured replication. 
https://bugster.forgerock.org/jira/browse/OPENDJ-23

Fix construction of LDAP filters when performing internal searches during delete conflict resolution.
2 files modified
21 ■■■■ changed files
opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java 12 ●●●● patch | view | raw | blame | history
opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestLDAPFilter.java 9 ●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/replication/plugin/LDAPReplicationDomain.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2010 Sun Microsystems, Inc.
 *      Portions Copyright 2011 ForgeRock AS
 */
package org.opends.server.replication.plugin;
@@ -2474,15 +2475,8 @@
       return;
     }
    LDAPFilter filter = null;
    try
    {
      filter = LDAPFilter.decode(
          DS_SYNC_CONFLICT + "=" + freedDN.toNormalizedString());
    } catch (LDAPException e)
    {
      // Not possible. We know the filter just above is correct.
    }
    LDAPFilter filter = LDAPFilter.createEqualityFilter(DS_SYNC_CONFLICT,
        ByteString.valueOf(freedDN.toString()));
     LinkedHashSet<String> attrs = new LinkedHashSet<String>(1);
     attrs.add(EntryHistorical.HISTORICALATTRIBUTENAME);
opends/tests/unit-tests-testng/src/server/org/opends/server/protocols/ldap/TestLDAPFilter.java
@@ -23,6 +23,7 @@
 *
 *
 *      Copyright 2006-2008 Sun Microsystems, Inc.
 *      Portions Copyright 2011 ForgeRock AS
 */
package org.opends.server.protocols.ldap;
@@ -190,7 +191,13 @@
        { "(|(givenName=\\5cJo\\2a\\28\\29*\\5cn\\2a\\28\\29)(cn:2.4.6.8.19:=\\5cJohn\\2a \\28Doe\\29)" +
            "(&(objectClass=\\5ctest\\2a\\28Value\\29)(sn~=\\5ctest\\2a\\28Value\\29)))",
            LDAPFilter.createORFilter(list2) }
            LDAPFilter.createORFilter(list2) },
        // OpenDJ issue 23.
        {
            "(ds-sync-conflict=uid=\\5c+3904211775265,ou=SharedAddressBook,cn=1038372,dc=cab)",
            LDAPFilter.createEqualityFilter("ds-sync-conflict",
                    ByteString.valueOf("uid=\\+3904211775265,ou=SharedAddressBook,cn=1038372,dc=cab")) }
    };
  }