From 7a34cefa2a5bbdf339f1a50b856e3d7441006b8d Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 08 Jun 2011 14:33:10 +0000
Subject: [PATCH] Fix OPENDJ-184: Transient errors when accessing cn=changelog DraftCN DB result in complete shutdown of the replication service
---
opends/src/server/org/opends/server/replication/server/ReplicationServer.java | 23 ++++++++++++++++++++++-
1 files changed, 22 insertions(+), 1 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 a21b51b..5c96d23 100644
--- a/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
+++ b/opends/src/server/org/opends/server/replication/server/ReplicationServer.java
@@ -32,6 +32,7 @@
import static org.opends.server.loggers.debug.DebugLogger.getTracer;
import static org.opends.server.util.ServerConstants.EOL;
import static org.opends.server.util.StaticUtils.getFileForPath;
+import static org.opends.server.util.StaticUtils.stackTraceToSingleLineString;
import java.io.File;
import java.io.IOException;
@@ -992,7 +993,7 @@
* @return The time after which changes must be deleted from the
* persistent storage (in milliseconds).
*/
- long getTrimage()
+ long getTrimAge()
{
return purgeDelay * 1000;
}
@@ -2002,4 +2003,24 @@
}
}
+
+
+ /**
+ * Shuts down replication when an unexpected database exception occurs. Note
+ * that we do not expect lock timeouts or txn timeouts because the replication
+ * databases are deadlock free, thus all operations should complete
+ * eventually.
+ *
+ * @param e
+ * The unexpected database exception.
+ */
+ void handleUnexpectedDatabaseException(DatabaseException e)
+ {
+ MessageBuilder mb = new MessageBuilder();
+ mb.append(ERR_CHANGELOG_SHUTDOWN_DATABASE_ERROR.get());
+ mb.append(stackTraceToSingleLineString(e));
+ logError(mb.toMessage());
+ shutdown();
+ }
+
}
--
Gitblit v1.10.0