From 110726757d33bae25fabde2a8dbd2d9203e85526 Mon Sep 17 00:00:00 2001
From: pgamba <pgamba@localhost>
Date: Wed, 14 Nov 2007 18:20:29 +0000
Subject: [PATCH] Fix 2424 - impact of generation ID on binary copy - add to the SetGenerationID task the possibility to clear the generation id in the topology by providing the attribute ds-task-reset-generation-id-new-value with value -1

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/GenerationIdTest.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/GenerationIdTest.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/GenerationIdTest.java
index fe8cffa..bc9b980 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/GenerationIdTest.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/GenerationIdTest.java
@@ -1160,10 +1160,30 @@
 
     debugInfo("Verifying that all replservers genIds have been reset.");
     genId = readGenId();
-    assertEquals(replServer2.getGenerationId(baseDn), genId);
+    assertEquals(replServer1.getGenerationId(baseDn), genId);
     assertEquals(replServer2.getGenerationId(baseDn), genId);
     assertEquals(replServer3.getGenerationId(baseDn), genId);
 
+    debugInfo("Adding reset task to DS.");
+    taskReset = TestCaseUtils.makeEntry(
+        "dn: ds-task-id=resetgenid"+ UUID.randomUUID() +
+        ",cn=Scheduled Tasks,cn=Tasks",
+        "objectclass: top",
+        "objectclass: ds-task",
+        "objectclass: ds-task-reset-generation-id",
+        "ds-task-class-name: org.opends.server.tasks.SetGenerationIdTask",
+        "ds-task-reset-generation-id-domain-base-dn: " + baseDnStr,
+        "ds-task-reset-generation-id-new-value: -1");
+    addTask(taskReset, ResultCode.SUCCESS, null);
+    waitTaskState(taskReset, TaskState.COMPLETED_SUCCESSFULLY, null);
+    Thread.sleep(500);
+
+    debugInfo("Verifying that all replservers genIds have been reset.");
+    genId = readGenId();
+    assertEquals(replServer1.getGenerationId(baseDn), -1);
+    assertEquals(replServer2.getGenerationId(baseDn), -1);
+    assertEquals(replServer3.getGenerationId(baseDn), -1);
+
     debugInfo("Disconnect DS from replServer1 (required in order to DEL entries).");
     disconnectFromReplServer(changelog1ID);
 

--
Gitblit v1.10.0