From 633e3bc123c1ba1feecf6c16161ec72cd2f99c10 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 24 Apr 2014 10:59:18 +0000
Subject: [PATCH] AssuredReplicationServerTest.java: Code cleanup.
---
opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/AssuredReplicationServerTest.java | 140 ++++++++++++++++++----------------------------
1 files changed, 56 insertions(+), 84 deletions(-)
diff --git a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/AssuredReplicationServerTest.java b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/AssuredReplicationServerTest.java
index a138b15..04f56cd 100644
--- a/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/AssuredReplicationServerTest.java
+++ b/opendj-sdk/opends/tests/unit-tests-testng/src/server/org/opends/server/replication/server/AssuredReplicationServerTest.java
@@ -346,6 +346,15 @@
throw new RuntimeException("Not implemented for " + assuredMode);
}
+ private FakeReplicationServer createFakeReplicationServer(int serverId,
+ int groupId, long generationId, boolean assured,
+ AssuredMode assuredMode, int safeDataLevel, int scenario)
+ throws Exception
+ {
+ return createFakeReplicationServer(serverId, groupId, RS1_ID, generationId,
+ assured, assuredMode, safeDataLevel, new ServerState(), scenario);
+ }
+
/**
* Creates and connects a new fake replication server, using the passed scenario.
*/
@@ -358,7 +367,7 @@
int rsPort = getRsPort(rsId);
FakeReplicationServer fakeReplicationServer = new FakeReplicationServer(
- rsPort, serverId, assured, assuredMode, (byte)safeDataLevel, (byte)groupId,
+ rsPort, serverId, assured, assuredMode, safeDataLevel, groupId,
DN.decode(TEST_ROOT_DN_STRING), generationId);
// Connect fake RS to the real RS
@@ -517,6 +526,9 @@
// Now execute the requested scenario
switch (scenario)
{
+ case TIMEOUT_DS_SCENARIO:
+ // Let timeout occur
+ break;
case REPLY_OK_DS_SCENARIO:
// Send the ack without errors
// Call processUpdateDone and update the server state is what needs to
@@ -525,9 +537,6 @@
processUpdateDone(updateMsg, null);
getServerState().update(updateMsg.getCSN());
break;
- case TIMEOUT_DS_SCENARIO:
- // Let timeout occur
- break;
case REPLAY_ERROR_DS_SCENARIO:
// Send the ack with replay error
// Call processUpdateDone and update the server state is what needs to
@@ -568,7 +577,9 @@
}
if (ok)
+ {
debugInfo("Fake DS " + getServerId() + " received update assured parameters are ok: " + updateMsg);
+ }
else
{
everyUpdatesAreOk = false;
@@ -582,24 +593,13 @@
*/
public void sendNewFakeUpdate() throws TimeoutException
{
- sendNewFakeUpdate(true);
- }
-
- /**
- * Sends a new update from this DS using configured assured parameters or not
- * @throws TimeoutException If timeout waiting for an assured ack
- */
- public void sendNewFakeUpdate(boolean useAssured) throws TimeoutException
- {
// Create a new delete update message (the simplest to create)
DeleteMsg delMsg = new DeleteMsg(getBaseDN(), gen.newCSN(), UUID.randomUUID().toString());
// Send it (this uses the defined assured conf at constructor time)
- if (useAssured)
- prepareWaitForAckIfAssuredEnabled(delMsg);
+ prepareWaitForAckIfAssuredEnabled(delMsg);
publish(delMsg);
- if (useAssured)
- waitForAckIfAssuredEnabled(delMsg);
+ waitForAckIfAssuredEnabled(delMsg);
}
}
@@ -657,13 +657,13 @@
*/
public FakeReplicationServer(int port, int serverId, boolean assured,
AssuredMode assuredMode, int safeDataLevel,
- byte groupId, DN baseDN, long generationId)
+ int groupId, DN baseDN, long generationId)
{
this.port = port;
this.serverId = serverId;
this.baseDN = baseDN;
this.generationId = generationId;
- this.groupId = groupId;
+ this.groupId = (byte) groupId;
this.isAssured = assured;
this.assuredMode = assuredMode;
this.safeDataLevel = (byte) safeDataLevel;
@@ -735,10 +735,7 @@
// Send our topo mesg
RSInfo rsInfo = new RSInfo(serverId, fakeUrl, generationId, groupId, 1);
- List<RSInfo> rsInfos = new ArrayList<RSInfo>();
- rsInfos.add(rsInfo);
- TopologyMsg topoMsg = new TopologyMsg(null, rsInfos);
- session.publish(topoMsg);
+ session.publish(new TopologyMsg(null, newList(rsInfo)));
// Read topo msg
TopologyMsg inTopoMsg = (TopologyMsg) session.receive();
@@ -813,9 +810,7 @@
// Send the ack with timeout error from a virtual DS with id (ours + 10)
AckMsg ackMsg = new AckMsg(updateMsg.getCSN());
ackMsg.setHasTimeout(true);
- List<Integer> failedServers = new ArrayList<Integer>();
- failedServers.add(serverId + 10);
- ackMsg.setFailedServers(failedServers);
+ ackMsg.setFailedServers(newList(serverId + 10));
session.publish(ackMsg);
ackReplied = true;
}
@@ -826,9 +821,7 @@
// Send the ack with wrong status error from a virtual DS with id (ours + 10)
AckMsg ackMsg = new AckMsg(updateMsg.getCSN());
ackMsg.setHasWrongStatus(true);
- List<Integer> failedServers = new ArrayList<Integer>();
- failedServers.add(serverId + 10);
- ackMsg.setFailedServers(failedServers);
+ ackMsg.setFailedServers(newList(serverId + 10));
session.publish(ackMsg);
ackReplied = true;
}
@@ -839,9 +832,7 @@
// Send the ack with replay error from a virtual DS with id (ours + 10)
AckMsg ackMsg = new AckMsg(updateMsg.getCSN());
ackMsg.setHasReplayError(true);
- List<Integer> failedServers = new ArrayList<Integer>();
- failedServers.add(serverId + 10);
- ackMsg.setFailedServers(failedServers);
+ ackMsg.setFailedServers(newList(serverId + 10));
session.publish(ackMsg);
ackReplied = true;
}
@@ -913,9 +904,13 @@
}
if (ok)
+ {
debugInfo("Fake RS " + serverId + " received update assured parameters are ok: " + updateMsg);
+ }
else
+ {
everyUpdatesAreOk = false;
+ }
}
public boolean receivedUpdatesOk()
@@ -1068,8 +1063,8 @@
// by mistake sends an assured error and expects an ack from this fake RS:
// this would timeout. If main DS group id is not the same as the real RS one,
// the update will even not come to real RS as assured
- fakeRs1 = createFakeReplicationServer(FRS1_ID, fakeRsGid, RS1_ID,
- DEFAULT_GENID, false, AssuredMode.SAFE_DATA_MODE, 1, new ServerState(), TIMEOUT_RS_SCENARIO);
+ fakeRs1 = createFakeReplicationServer(FRS1_ID, fakeRsGid, DEFAULT_GENID,
+ false, AssuredMode.SAFE_DATA_MODE, 1, TIMEOUT_RS_SCENARIO);
}
// Send update from DS 1
@@ -1089,17 +1084,16 @@
// Check monitoring values (check that ack has been correctly received)
assertEquals(fakeRd1.getAssuredSdSentUpdates(), 1);
assertEquals(fakeRd1.getAssuredSdAcknowledgedUpdates(), 1);
- assertEquals(fakeRd1.getAssuredSdTimeoutUpdates(), 0);
- assertEquals(fakeRd1.getAssuredSdServerTimeoutUpdates().size(), 0);
- } else
+ }
+ else
{
// Check monitoring values (DS group id (OTHER_GID) is not the same as RS one
// (DEFAULT_GID) so update should have been sent in normal mode
assertEquals(fakeRd1.getAssuredSdSentUpdates(), 0);
assertEquals(fakeRd1.getAssuredSdAcknowledgedUpdates(), 0);
- assertEquals(fakeRd1.getAssuredSdTimeoutUpdates(), 0);
- assertEquals(fakeRd1.getAssuredSdServerTimeoutUpdates().size(), 0);
}
+ assertEquals(fakeRd1.getAssuredSdTimeoutUpdates(), 0);
+ assertEquals(fakeRd1.getAssuredSdServerTimeoutUpdates().size(), 0);
// Sanity check
Thread.sleep(500); // Let time to update to reach other servers
@@ -1298,12 +1292,7 @@
// Add each possible parameter as initial parameter lists
for (Object possibleParameter : possibleParameters)
{
- // Create new empty list
- List<Object> newObjectArray = new ArrayList<Object>();
- // Add the new possible parameter
- newObjectArray.add(possibleParameter);
- // Store the new object array in the result list
- newObjectArrayList.add(newObjectArray);
+ newObjectArrayList.add(newList(possibleParameter));
}
return newObjectArrayList;
}
@@ -1313,15 +1302,8 @@
// Add each possible parameter to the already existing list
for (Object possibleParameter : possibleParameters)
{
- // Clone the existing object array
- List<Object> newObjectArray = new ArrayList<Object>();
- for (Object object : objectArray)
- {
- newObjectArray.add(object);
- }
- // Add the new possible parameter
+ final List<Object> newObjectArray = new ArrayList<Object>(objectArray);
newObjectArray.add(possibleParameter);
- // Store the new object array in the result list
newObjectArrayList.add(newObjectArray);
}
}
@@ -1392,19 +1374,16 @@
*/
// Put a fake RS 1 connected to real RS
- fakeRs1 = createFakeReplicationServer(FRS1_ID, fakeRs1Gid, RS1_ID,
- fakeRs1GenId, fakeRs1Gid == DEFAULT_GID, AssuredMode.SAFE_DATA_MODE, sdLevel,
- new ServerState(), fakeRs1Scen);
+ fakeRs1 = createFakeReplicationServer(FRS1_ID, fakeRs1Gid, fakeRs1GenId,
+ fakeRs1Gid == DEFAULT_GID, AssuredMode.SAFE_DATA_MODE, sdLevel, fakeRs1Scen);
// Put a fake RS 2 connected to real RS
- fakeRs2 = createFakeReplicationServer(FRS2_ID, fakeRs2Gid, RS1_ID,
- fakeRs2GenId, fakeRs2Gid == DEFAULT_GID, AssuredMode.SAFE_DATA_MODE, sdLevel,
- new ServerState(), fakeRs2Scen);
+ fakeRs2 = createFakeReplicationServer(FRS2_ID, fakeRs2Gid, fakeRs2GenId,
+ fakeRs2Gid == DEFAULT_GID, AssuredMode.SAFE_DATA_MODE, sdLevel, fakeRs2Scen);
// Put a fake RS 3 connected to real RS
- fakeRs3 = createFakeReplicationServer(FRS3_ID, fakeRs3Gid, RS1_ID,
- fakeRs3GenId, fakeRs3Gid == DEFAULT_GID, AssuredMode.SAFE_DATA_MODE, sdLevel,
- new ServerState(), fakeRs3Scen);
+ fakeRs3 = createFakeReplicationServer(FRS3_ID, fakeRs3Gid, fakeRs3GenId,
+ fakeRs3Gid == DEFAULT_GID, AssuredMode.SAFE_DATA_MODE, sdLevel, fakeRs3Scen);
// Wait for connections to be finished
// DS must see expected numbers of fake DSs and RSs
@@ -1671,7 +1650,9 @@
for (Integer serverId : eligibleServers)
{
if (!expectedServers.contains(serverId))
+ {
expectedServersInError.add(serverId);
+ }
}
return expectedServersInError;
}
@@ -1879,18 +1860,16 @@
*/
// Put a fake RS 2 connected to real RS
- fakeRs2 = createFakeReplicationServer(FRS2_ID, DEFAULT_GID, RS1_ID,
- DEFAULT_GENID, false, AssuredMode.SAFE_DATA_MODE, 10,
- new ServerState(), TIMEOUT_RS_SCENARIO);
+ fakeRs2 = createFakeReplicationServer(FRS2_ID, DEFAULT_GID, DEFAULT_GENID,
+ false, AssuredMode.SAFE_DATA_MODE, 10, TIMEOUT_RS_SCENARIO);
/*
* Start fake RS to send updates
*/
// Put a fake RS 1 connected to real RS
- fakeRs1 = createFakeReplicationServer(FRS1_ID, fakeRsGid, RS1_ID,
- fakeRsGenId, sendInAssured, AssuredMode.SAFE_DATA_MODE, sdLevel,
- new ServerState(), SENDER_RS_SCENARIO);
+ fakeRs1 = createFakeReplicationServer(FRS1_ID, fakeRsGid, fakeRsGenId,
+ sendInAssured, AssuredMode.SAFE_DATA_MODE, sdLevel, SENDER_RS_SCENARIO);
/*
* Send an assured update using configured assured parameters
@@ -1945,10 +1924,7 @@
{
return new Object[][]
{
- {1},
- {2},
- {3},
- {4}
+ {1}, {2}, {3}, {4}
};
}
@@ -2315,16 +2291,14 @@
/*
* Start fake RS (RS 1) connected to RS
*/
- fakeRs1 = createFakeReplicationServer(FRS1_ID, DEFAULT_GID, RS1_ID,
- DEFAULT_GENID, true, AssuredMode.SAFE_READ_MODE, 1,
- new ServerState(), REPLY_OK_RS_SCENARIO);
+ fakeRs1 = createFakeReplicationServer(FRS1_ID, DEFAULT_GID, DEFAULT_GENID,
+ true, AssuredMode.SAFE_READ_MODE, 1, REPLY_OK_RS_SCENARIO);
/*
* Start another fake RS (RS 2) connected to RS
*/
- fakeRs2 = createFakeReplicationServer(FRS2_ID, otherFakeRsGid, RS1_ID,
- otherFakeRsGenId, (otherFakeRsGid == DEFAULT_GID),
- AssuredMode.SAFE_READ_MODE, 1, new ServerState(), otherFakeRsScen);
+ fakeRs2 = createFakeReplicationServer(FRS2_ID, otherFakeRsGid, otherFakeRsGenId,
+ otherFakeRsGid == DEFAULT_GID, AssuredMode.SAFE_READ_MODE, 1, otherFakeRsScen);
// Wait for connections to be established
final FakeReplicationDomain fakeRd1 = fakeRDs[1];
@@ -2630,14 +2604,12 @@
*/
// Put a fake RS 1 connected to real RS 2 (different GENID)
- fakeRs1 = createFakeReplicationServer(FRS1_ID, DEFAULT_GID, RS1_ID,
- OTHER_GENID, false, AssuredMode.SAFE_READ_MODE, 1, new ServerState(),
- TIMEOUT_RS_SCENARIO);
+ fakeRs1 = createFakeReplicationServer(FRS1_ID, DEFAULT_GID, OTHER_GENID,
+ false, AssuredMode.SAFE_READ_MODE, 1, TIMEOUT_RS_SCENARIO);
// Put a fake RS 2 connected to real RS 3 (different GID 2)
- fakeRs2 = createFakeReplicationServer(FRS2_ID, OTHER_GID_BIS, RS1_ID,
- DEFAULT_GENID, false, AssuredMode.SAFE_READ_MODE, 1, new ServerState(),
- TIMEOUT_RS_SCENARIO);
+ fakeRs2 = createFakeReplicationServer(FRS2_ID, OTHER_GID_BIS, DEFAULT_GENID,
+ false, AssuredMode.SAFE_READ_MODE, 1, TIMEOUT_RS_SCENARIO);
/*
* Start DSs that will receive and ack the updates from DS 1
--
Gitblit v1.10.0