From a719d21181a3b1c98c16bc677e892cf67fed4e7f Mon Sep 17 00:00:00 2001
From: mrossign <mrossign@localhost>
Date: Thu, 18 Dec 2008 17:13:46 +0000
Subject: [PATCH] Assured Replication: - support for dynamic reconfiguration (domain and replication server) - performance improvement in domain (less lock time between sending threads) - performance improvement in server (safe data ack before DB push) - more monitoring info for safe read mode Misc: - support for dynamic domain group id reconfiguration
---
opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java | 68 +++++++++++++++++-----------------
1 files changed, 34 insertions(+), 34 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
index 9408c24..2768301 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -213,40 +213,6 @@
generationId = sourceHandler.getGenerationId();
}
- // look for the dbHandler that is responsible for the LDAP server which
- // generated the change.
- DbHandler dbHandler = null;
- synchronized (sourceDbHandlers)
- {
- dbHandler = sourceDbHandlers.get(id);
- if (dbHandler == null)
- {
- try
- {
- dbHandler = replicationServer.newDbHandler(id, baseDn);
- generationIdSavedStatus = true;
- } catch (DatabaseException e)
- {
- /*
- * Because of database problem we can't save any more changes
- * from at least one LDAP server.
- * This replicationServer therefore can't do it's job properly anymore
- * and needs to close all its connections and shutdown itself.
- */
- MessageBuilder mb = new MessageBuilder();
- mb.append(ERR_CHANGELOG_SHUTDOWN_DATABASE_ERROR.get());
- mb.append(stackTraceToSingleLineString(e));
- logError(mb.toMessage());
- replicationServer.shutdown();
- return;
- }
- sourceDbHandlers.put(id, dbHandler);
- }
- }
-
- // Publish the messages to the source handler
- dbHandler.add(update);
-
/**
* If this is an assured message (a message requesting ack), we must
* construct the ExpectedAcksInfo object with the right number of expected
@@ -297,6 +263,40 @@
}
}
+ // look for the dbHandler that is responsible for the LDAP server which
+ // generated the change.
+ DbHandler dbHandler = null;
+ synchronized (sourceDbHandlers)
+ {
+ dbHandler = sourceDbHandlers.get(id);
+ if (dbHandler == null)
+ {
+ try
+ {
+ dbHandler = replicationServer.newDbHandler(id, baseDn);
+ generationIdSavedStatus = true;
+ } catch (DatabaseException e)
+ {
+ /*
+ * Because of database problem we can't save any more changes
+ * from at least one LDAP server.
+ * This replicationServer therefore can't do it's job properly anymore
+ * and needs to close all its connections and shutdown itself.
+ */
+ MessageBuilder mb = new MessageBuilder();
+ mb.append(ERR_CHANGELOG_SHUTDOWN_DATABASE_ERROR.get());
+ mb.append(stackTraceToSingleLineString(e));
+ logError(mb.toMessage());
+ replicationServer.shutdown();
+ return;
+ }
+ sourceDbHandlers.put(id, dbHandler);
+ }
+ }
+
+ // Publish the messages to the source handler
+ dbHandler.add(update);
+
List<Short> expectedServers = null;
if (assuredMessage)
{
--
Gitblit v1.10.0