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; opends/tests/unit-tests-testng/src/server/org/opends/server/replication/ExternalChangeLogTest.java
@@ -1152,9 +1152,10 @@ waitOpResult(searchOp, ResultCode.UNWILLING_TO_PERFORM); assertEquals(searchOp.getSearchEntries().size(), 0); assertTrue(searchOp.getErrorMessage().toString().startsWith( "Full resync required. Reason: The provided cookie contains unknown replicated domain {o=test6=}"), "Full resync required. Reason: The provided cookie contains unknown replicated domain {o=test6=}. Possible cookie: <"), searchOp.getErrorMessage().toString()); // The cookie value is not tested because it is build from a hashmap in // the server and the order of domains is not predictable. // Test missing domain in provided cookie newCookie = lastCookie.substring(lastCookie.indexOf(';')+1); control = @@ -1178,8 +1179,8 @@ waitOpResult(searchOp, ResultCode.UNWILLING_TO_PERFORM); assertEquals(searchOp.getSearchEntries().size(), 0); assertTrue(searchOp.getErrorMessage().toString().equalsIgnoreCase( "Full resync required. Reason: The provided cookie is missing the replicated domain(s) o=test:; .Possible cookie:" + newCookie + "o=test:;"), "Server output:" + "Full resync required. Reason: The provided cookie is missing the replicated domain(s) o=test:;. Possible cookie: <" + newCookie + "o=test:;>"), "Server output:" + searchOp.getErrorMessage().toString()); s1test.stop();