| | |
| | | import org.opends.server.TestCaseUtils; |
| | | import org.opends.server.backends.MemoryBackend; |
| | | import org.opends.server.core.DirectoryServer; |
| | | import org.opends.server.replication.common.ChangeNumberGenerator; |
| | | import org.opends.server.replication.common.CSNGenerator; |
| | | import org.opends.server.replication.plugin.DomainFakeCfg; |
| | | import org.opends.server.replication.plugin.LDAPReplicationDomain; |
| | | import org.opends.server.replication.plugin.MultimasterReplication; |
| | |
| | | // send a sequence of add operation |
| | | |
| | | String addDn = TEST_ROOT_DN_STRING; |
| | | ChangeNumberGenerator gen = new ChangeNumberGenerator(brokerId, 0L); |
| | | CSNGenerator gen = new CSNGenerator(brokerId, 0L); |
| | | |
| | | int sequence; |
| | | for (sequence = 1; sequence<=AddSequenceLength; sequence ++) |
| | |
| | | new LinkedList<AttributeValue>()); |
| | | addDn = "dc=dependency" + sequence + "," + addDn; |
| | | AddMsg addMsg = |
| | | new AddMsg(gen.newChangeNumber(), addDn, stringUID(sequence+1), |
| | | new AddMsg(gen.newCSN(), addDn, stringUID(sequence+1), |
| | | stringUID(sequence), |
| | | entry.getObjectClassAttribute(), |
| | | entry.getAttributes(), null ); |
| | | broker.publish(addMsg); |
| | | |
| | | ModifyMsg modifyMsg = |
| | | new ModifyMsg(gen.newChangeNumber(), DN.decode(addDn), |
| | | new ModifyMsg(gen.newCSN(), DN.decode(addDn), |
| | | generatemods("description", "test"), |
| | | stringUID(sequence+1)); |
| | | broker.publish(modifyMsg); |
| | |
| | | while (sequence-->1) |
| | | { |
| | | DeleteMsg delMsg = new DeleteMsg(deleteDN.toString(), |
| | | gen.newChangeNumber(), |
| | | gen.newCSN(), |
| | | stringUID(sequence + 1)); |
| | | broker.publish(delMsg); |
| | | deleteDN = deleteDN.getParent(); |
| | |
| | | Entry entry = TestCaseUtils.entryFromLdifString(entryldif); |
| | | AttributeType uidType = |
| | | DirectoryServer.getSchema().getAttributeType("entryuuid"); |
| | | ChangeNumberGenerator gen = new ChangeNumberGenerator(brokerId, 0L); |
| | | CSNGenerator gen = new CSNGenerator(brokerId, 0L); |
| | | int renamedEntryUuid = 100; |
| | | |
| | | int replServerPort = TestCaseUtils.findFreePort(); |
| | |
| | | new LinkedList<AttributeValue>()); |
| | | String addDn = "dc=moddndel" + "," + TEST_ROOT_DN_STRING; |
| | | AddMsg addMsg = |
| | | new AddMsg(gen.newChangeNumber(), addDn, stringUID(renamedEntryUuid), |
| | | new AddMsg(gen.newCSN(), addDn, stringUID(renamedEntryUuid), |
| | | stringUID(1), |
| | | entry.getObjectClassAttribute(), |
| | | entry.getAttributes(), null ); |
| | |
| | | |
| | | // rename and delete the entry. |
| | | ModifyDNMsg moddnMsg = |
| | | new ModifyDNMsg(addDn, gen.newChangeNumber(), |
| | | new ModifyDNMsg(addDn, gen.newCSN(), |
| | | stringUID(renamedEntryUuid), |
| | | stringUID(1), true, null, "dc=new_name"); |
| | | broker.publish(moddnMsg); |
| | | DeleteMsg delMsg = |
| | | new DeleteMsg("dc=new_name" + "," + TEST_ROOT_DN_STRING, |
| | | gen.newChangeNumber(), stringUID(renamedEntryUuid)); |
| | | gen.newCSN(), stringUID(renamedEntryUuid)); |
| | | broker.publish(delMsg); |
| | | |
| | | // enable back the domain to trigger message replay. |
| | |
| | | false, CLEAN_DB_GENERATION_ID); |
| | | |
| | | // send a sequence of add/del/add operations |
| | | ChangeNumberGenerator gen = new ChangeNumberGenerator(brokerId, 0L); |
| | | CSNGenerator gen = new CSNGenerator(brokerId, 0L); |
| | | |
| | | int sequence; |
| | | for (sequence = 1; sequence<=AddSequenceLength; sequence ++) |
| | |
| | | new LinkedList<AttributeValue>()); |
| | | String addDn = "dc=dependency" + sequence + "," + TEST_ROOT_DN_STRING; |
| | | AddMsg addMsg = |
| | | new AddMsg(gen.newChangeNumber(), addDn, stringUID(sequence+1), |
| | | new AddMsg(gen.newCSN(), addDn, stringUID(sequence+1), |
| | | stringUID(1), |
| | | entry.getObjectClassAttribute(), |
| | | entry.getAttributes(), null ); |
| | | broker.publish(addMsg); |
| | | |
| | | // delete the entry |
| | | DeleteMsg delMsg = new DeleteMsg(addDn, gen.newChangeNumber(), |
| | | DeleteMsg delMsg = new DeleteMsg(addDn, gen.newCSN(), |
| | | stringUID(sequence+1)); |
| | | broker.publish(delMsg); |
| | | |
| | |
| | | entry.addAttribute(Attributes.create("entryuuid", stringUID(sequence+1025)), |
| | | new LinkedList<AttributeValue>()); |
| | | addMsg = |
| | | new AddMsg(gen.newChangeNumber(), addDn, stringUID(sequence+1025), |
| | | new AddMsg(gen.newCSN(), addDn, stringUID(sequence+1025), |
| | | stringUID(1), |
| | | entry.getObjectClassAttribute(), |
| | | entry.getAttributes(), null ); |
| | |
| | | { |
| | | String deleteDN = "dc=dependency" + sequence + "," + TEST_ROOT_DN_STRING; |
| | | DeleteMsg delMsg = new DeleteMsg(deleteDN, |
| | | gen.newChangeNumber(), |
| | | gen.newCSN(), |
| | | stringUID(sequence + 1025)); |
| | | broker.publish(delMsg); |
| | | } |
| | |
| | | |
| | | |
| | | String addDn = TEST_ROOT_DN_STRING; |
| | | ChangeNumberGenerator gen = new ChangeNumberGenerator(brokerId, 0L); |
| | | CSNGenerator gen = new CSNGenerator(brokerId, 0L); |
| | | |
| | | // send a sequence of add/modrdn operations |
| | | int sequence; |
| | |
| | | new LinkedList<AttributeValue>()); |
| | | addDn = "dc=dependency" + sequence + "," + TEST_ROOT_DN_STRING; |
| | | AddMsg addMsg = |
| | | new AddMsg(gen.newChangeNumber(), addDn, stringUID(sequence+1), |
| | | new AddMsg(gen.newCSN(), addDn, stringUID(sequence+1), |
| | | stringUID(1), |
| | | entry.getObjectClassAttribute(), |
| | | entry.getAttributes(), null ); |
| | |
| | | |
| | | // rename the entry |
| | | ModifyDNMsg moddnMsg = |
| | | new ModifyDNMsg(addDn, gen.newChangeNumber(), stringUID(sequence+1), |
| | | new ModifyDNMsg(addDn, gen.newCSN(), stringUID(sequence+1), |
| | | stringUID(1), true, null, "dc=new_dep" + sequence); |
| | | broker.publish(moddnMsg); |
| | | } |
| | |
| | | { |
| | | addDn = "dc=new_dep" + sequence + "," + TEST_ROOT_DN_STRING; |
| | | DeleteMsg delMsg = new DeleteMsg(addDn.toString(), |
| | | gen.newChangeNumber(), |
| | | gen.newCSN(), |
| | | stringUID(sequence + 1)); |
| | | broker.publish(delMsg); |
| | | } |