From 685d410eca0e64c7fe2f0b5ff0e8aaf9e27d9144 Mon Sep 17 00:00:00 2001
From: pgamba <pgamba@localhost>
Date: Fri, 11 Dec 2009 15:26:13 +0000
Subject: [PATCH] Improve error msg adding a usable cookie when a domain has been removed or ECL disabled
---
opends/src/server/org/opends/server/replication/server/ECLServerHandler.java | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
index d6635ea..1b8efbb 100644
--- a/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
+++ b/opends/src/server/org/opends/server/replication/server/ECLServerHandler.java
@@ -466,7 +466,6 @@
if (this.replicationServerDomain != null)
lockDomain(true);
-// this.localGenerationId = replicationServerDomain.getGenerationId();
this.localGenerationId = -1;
// send start to remote
@@ -808,21 +807,30 @@
// the request is rejected and a full resync is required.
throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
ERR_RESYNC_REQUIRED_MISSING_DOMAIN_IN_PROVIDED_COOKIE.get(
- missingDomains + " .Possible cookie:" +
- (providedCookie + missingDomains)));
+ missingDomains +
+ ". Possible cookie: <" + (providedCookie + missingDomains)+ ">"));
}
+ domainCtxts = tmpSet.toArray(new DomainContext[0]);
+
if (!startStatesFromProvidedCookie.isEmpty())
{
// After reading all the knows domains from the provided cookie, there
// is one (or several) domain that are not currently configured.
// This domain has probably been removed or replication disabled on it.
// The request is rejected and full resync is required.
+ String unknownDomains = startStatesFromProvidedCookie.toString();
+ String possibleCookie = "";
+ for (int j=0; j<domainCtxts.length; j++)
+ {
+ possibleCookie += (domainCtxts[j].rsd.getBaseDn() + ":"
+ + domainCtxts[j].startState + ";");
+ }
throw new DirectoryException(ResultCode.UNWILLING_TO_PERFORM,
ERR_RESYNC_REQUIRED_UNKNOWN_DOMAIN_IN_PROVIDED_COOKIE.get(
- startStatesFromProvidedCookie.toString()));
+ unknownDomains +
+ ". Possible cookie: <" + possibleCookie+ ">"));
}
- domainCtxts = tmpSet.toArray(new DomainContext[0]);
// the next record from the DraftCNdb should be the one
startCookie = providedCookie;
--
Gitblit v1.10.0