opends/src/server/org/opends/server/replication/server/DataServerHandler.java
@@ -59,6 +59,10 @@ */ public class DataServerHandler extends ServerHandler { // Temporay generationId received in handshake/phase1, // and used after handshake/phase2 long tmpGenerationId; // Status of this DS (only used if this server handler represents a DS) private ServerStatus status = ServerStatus.INVALID_STATUS; @@ -409,7 +413,7 @@ public boolean processStartFromRemote(ServerStartMsg serverStartMsg) throws DirectoryException { generationId = serverStartMsg.getGenerationId(); tmpGenerationId = serverStartMsg.getGenerationId(); protocolVersion = ProtocolVersion.minWithCurrent( serverStartMsg.getVersion()); serverId = serverStartMsg.getServerId(); @@ -474,6 +478,9 @@ boolean sessionInitiatorSSLEncryption = processStartFromRemote(inServerStartMsg); // lock with no timeout lockDomain(false); localGenerationId = replicationServerDomain.getGenerationId(); oldGenerationId = localGenerationId; @@ -490,9 +497,6 @@ return; } // lock with no timeout lockDomain(false); // ReplServerStartMsg outReplServerStartMsg = null; try @@ -652,6 +656,7 @@ * (unsaved yet on disk . will be set with the 1rst change * received) */ generationId = tmpGenerationId; if (localGenerationId > 0) { if (generationId != localGenerationId) opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -1835,6 +1835,8 @@ { for (DataServerHandler handler : directoryServers.values()) { if (handler.getStatus() != ServerStatus.NOT_CONNECTED_STATUS) { if ((notThisOne == null) || // All DSs requested ((notThisOne != null) && (handler != notThisOne))) // All except passed one @@ -1853,6 +1855,7 @@ } } } } /** * Send a TopologyMsg to all the connected replication servers @@ -1863,6 +1866,8 @@ TopologyMsg topoMsg = createTopologyMsgForRS(); for (ReplicationServerHandler handler : replicationServers.values()) { if (handler.getStatus() != ServerStatus.NOT_CONNECTED_STATUS) { try { handler.sendTopoInfo(topoMsg); @@ -1876,6 +1881,7 @@ } } } } /** * Creates a TopologyMsg filled with information to be sent to a remote RS. opends/src/server/org/opends/server/replication/service/ReplicationDomain.java
@@ -1938,6 +1938,16 @@ genIdMessage = new ResetGenerationIdMsg(generationIdNewValue); } broker.publish(genIdMessage); // check that at least one ReplicationServer did change its generation-id if (generationIdNewValue == null) { checkGenerationID(this.getGenerationID()); } else { checkGenerationID(generationIdNewValue); } }