From 9569dcea7f21d0ecf76da6b73636df74f501ca15 Mon Sep 17 00:00:00 2001
From: mrossign <mrossign@localhost>
Date: Thu, 15 Jan 2009 13:45:52 +0000
Subject: [PATCH] - Added assured replication monitoring in replication server - Assured replication monitoring attributes in directory server have consistent names - Some existing monitoring attributes renamed in replication server to be consistent with directory server existing ones

---
 opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 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 de44cd7..498dac4 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServerDomain.java
@@ -244,9 +244,11 @@
         AssuredMode assuredMode = update.getAssuredMode();
         if (assuredMode == AssuredMode.SAFE_DATA_MODE)
         {
+          sourceHandler.incrementAssuredSdReceivedUpdates();
           preparedAssuredInfo = processSafeDataUpdateMsg(update, sourceHandler);
         } else if (assuredMode == AssuredMode.SAFE_READ_MODE)
         {
+          sourceHandler.incrementAssuredSrReceivedUpdates();
           preparedAssuredInfo = processSafeReadUpdateMsg(update, sourceHandler);
         } else
         {
@@ -867,6 +869,58 @@
             logError(mb.toMessage());
             stopServer(origServer);
           }
+          // Increment assured counters
+          boolean safeRead =
+            (expectedAcksInfo instanceof SafeReadExpectedAcksInfo)
+            ? true : false;
+          if (safeRead)
+          {
+            origServer.incrementAssuredSrReceivedUpdatesTimeout();
+          } else
+          {
+            if (origServer.isLDAPserver())
+            {
+              origServer.incrementAssuredSdReceivedUpdatesTimeout();
+            }
+          }
+          //   retrieve expected servers in timeout to increment their counter
+          List<Short> serversInTimeout = expectedAcksInfo.getTimeoutServers();
+          for (Short serverId : serversInTimeout)
+          {
+            ServerHandler expectedServerInTimeout =
+              directoryServers.get(serverId);
+            if (expectedServerInTimeout != null)
+            {
+              // Was a DS
+              if (safeRead)
+              {
+                expectedServerInTimeout.incrementAssuredSrSentUpdatesTimeout();
+              } else
+              {
+                // No SD update sent to a DS (meaningless)
+              }
+            } else
+            {
+              expectedServerInTimeout =
+                replicationServers.get(serverId);
+              if (expectedServerInTimeout != null)
+              {
+                // Was a RS
+                if (safeRead)
+                {
+                  expectedServerInTimeout.
+                    incrementAssuredSrSentUpdatesTimeout();
+                } else
+                {
+                  expectedServerInTimeout.
+                    incrementAssuredSdSentUpdatesTimeout();
+                }
+              } else
+              {
+                // Server disappeared ? Let's forget about it.
+              }
+            }
+          }
           // Mark the ack info object as completed to prevent potential
           // processAck() code parallel run
           expectedAcksInfo.completed();

--
Gitblit v1.10.0