From ea16c22c6b725367e499b31054497246b67ca703 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 11 Oct 2013 14:29:15 +0000
Subject: [PATCH] Trying to fix random failures for HistoricalTest.testRecurringPurgeIn1Run().

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/replication/GenerationIdTest.java |   58 ++++++++++++++++++++--------------------------------------
 1 files changed, 20 insertions(+), 38 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 3309a9c..2a013ae 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
@@ -721,15 +721,8 @@
       connectServer1ToChangelog(changelog1ID);
 
       debugInfo("Create Reset task on DS1 to propagate the new gen ID as the reference");
-      Entry taskReset = TestCaseUtils.makeEntry(
-          "dn: ds-task-id=resetgenid"+genId+ 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);
-      executeTask(taskReset);
+      Entry taskReset = createSetGenerationIdTask(genId, "");
+      executeTask(taskReset, 20000);
 
       // Broker 2 and 3 should receive 1 change status message to order them
       // to enter the bad gen id status
@@ -818,15 +811,8 @@
           server3ID, 100, getChangelogPort(changelog1ID), 1000, emptyOldChanges, genId);
 
       debugInfo("Adding reset task to DS1");
-      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);
-      executeTask(taskReset);
+      taskReset = createSetGenerationIdTask(null, "");
+      executeTask(taskReset, 20000);
 
       debugInfo("Verify that RS1 has still the right genID");
       assertEquals(replServer1.getGenerationId(baseDN), rgenId);
@@ -877,6 +863,18 @@
     }
   }
 
+  private Entry createSetGenerationIdTask(Long genId, String additionalAttribute) throws Exception
+  {
+    String genIdString = genId != null ? genId.toString() : "";
+    return TestCaseUtils.makeEntry(
+        "dn: ds-task-id=resetgenid" + genIdString + 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,
+        additionalAttribute);
+  }
+
   private void assertNoMessageReceived(ReplicationBroker broker,
       String brokerName, String reason)
   {
@@ -968,7 +966,6 @@
 
       debugInfo("Expecting that broker3 is in bad gen id since it has a bad genId");
       assertTrue(isDegradedDueToGenerationId(replServer1, server3ID));
-
       assertEquals(countUpdatedEntriesInDb(), updatedEntries.length);
 
       debugInfo("Connecting DS to replServer1.");
@@ -976,15 +973,8 @@
 
 
       debugInfo("Adding reset task to DS.");
-      Entry 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);
-      executeTask(taskReset);
+      Entry taskReset = createSetGenerationIdTask(null, "");
+      executeTask(taskReset, 20000);
       Thread.sleep(500);
 
       debugInfo("Verifying that all replservers genIds have been reset.");
@@ -994,16 +984,8 @@
       assertEquals(replServer3.getGenerationId(baseDN), genId);
 
       debugInfo("Adding reset task to DS." + genId);
-      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");
-      executeTask(taskReset);
+      taskReset = createSetGenerationIdTask(null, "ds-task-reset-generation-id-new-value: -1");
+      executeTask(taskReset, 20000);
 
       debugInfo("Verifying that all replservers genIds have been reset.");
       int waitRes = 0;

--
Gitblit v1.10.0