From a3dad177f76ca95ba2a01ba58e53fb3441ebe0ac Mon Sep 17 00:00:00 2001
From: mrossign <mrossign@localhost>
Date: Fri, 19 Dec 2008 11:59:56 +0000
Subject: [PATCH] - support for dynamic domain group id reconfiguration in replication server - unit test for group id reconfiguration in replication server as well as in directory server
---
opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
index b0e043f..6d88711 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -634,8 +634,9 @@
public ConfigChangeResult applyConfigurationChange(
ReplicationServerCfg configuration)
{
- // Changing those properties don't need specific code.
- // They will be applied for next connections.
+ // Some of those properties change don't need specific code.
+ // They will be applied for next connections. Some others have immediate
+ // effect
disconnectRemovedReplicationServers(configuration.getReplicationServer());
@@ -724,6 +725,18 @@
}
}
+ // Changed the group id ?
+ byte newGroupId = (byte)configuration.getGroupId();
+ if (newGroupId != groupId)
+ {
+ groupId = newGroupId;
+ // Have a new group id: Disconnect every servers.
+ for (ReplicationServerDomain replicationServerDomain : baseDNs.values())
+ {
+ replicationServerDomain.stopAllServers();
+ }
+ }
+
if ((configuration.getReplicationDBDirectory() != null) &&
(!dbDirname.equals(configuration.getReplicationDBDirectory())))
{
@@ -1127,7 +1140,7 @@
for (ReplicationServerDomain replicationServerDomain: baseDNs.values())
{
- replicationServerDomain.stopServers(serversToDisconnect);
+ replicationServerDomain.stopReplicationServers(serversToDisconnect);
}
}
}
--
Gitblit v1.10.0