From a2c3fde785f4dcab651ee75492a95d3f6c07a853 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 09 Dec 2013 16:10:36 +0000
Subject: [PATCH] OPENDJ-1106 fractional-replication: adding entry on a replica as DM should not exit with RC 50

---
 opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
index cdc08e1..79ee3ae 100644
--- a/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
+++ b/opends/src/server/org/opends/server/workflowelement/localbackend/LocalBackendModifyDNOperation.java
@@ -341,8 +341,9 @@
     {
       if (currentLock == null)
       {
-        setResultCodeAndMessageNoInfoDisclosure(null, entryDN, ResultCode.BUSY,
-            ERR_MODDN_CANNOT_LOCK_CURRENT_DN.get(String.valueOf(entryDN)));
+        setResultCode(ResultCode.BUSY);
+        appendErrorMessage(ERR_MODDN_CANNOT_LOCK_CURRENT_DN.get(
+            String.valueOf(entryDN)));
         return;
       }
 
@@ -351,9 +352,9 @@
         newLock = LockManager.lockWrite(newDN);
         if (newLock == null)
         {
-          setResultCodeAndMessageNoInfoDisclosure(null, newDN, ResultCode.BUSY,
-              ERR_MODDN_CANNOT_LOCK_NEW_DN.get(String.valueOf(entryDN), String
-                  .valueOf(newDN)));
+          setResultCode(ResultCode.BUSY);
+          appendErrorMessage(ERR_MODDN_CANNOT_LOCK_NEW_DN.get(
+              String.valueOf(entryDN), String.valueOf(newDN)));
           return;
         }
       }
@@ -537,11 +538,11 @@
     }
   }
 
-  private DirectoryException newDirectoryException(Entry entry, DN entryDN,
+  private DirectoryException newDirectoryException(Entry entry,
       ResultCode resultCode, Message message) throws DirectoryException
   {
-    return LocalBackendWorkflowElement.newDirectoryException(this, entry,
-        entryDN, resultCode, message, ResultCode.NO_SUCH_OBJECT,
+    return LocalBackendWorkflowElement.newDirectoryException(this, entry, null,
+        resultCode, message, ResultCode.NO_SUCH_OBJECT,
         ERR_MODDN_NO_CURRENT_ENTRY.get(String.valueOf(entryDN)));
   }
 
@@ -613,8 +614,7 @@
               TRACER.debugCaught(DebugLogLevel.ERROR, de);
             }
 
-            throw newDirectoryException(currentEntry, entryDN,
-                de.getResultCode(),
+            throw newDirectoryException(currentEntry, de.getResultCode(),
                 ERR_MODDN_CANNOT_PROCESS_ASSERTION_FILTER.get(
                     String.valueOf(entryDN),
                     de.getMessageObject()));
@@ -634,7 +634,7 @@
           {
             if (!filter.matchesEntry(currentEntry))
             {
-              throw newDirectoryException(currentEntry, entryDN,
+              throw newDirectoryException(currentEntry,
                   ResultCode.ASSERTION_FAILED,
                   ERR_MODDN_ASSERTION_FAILED.get(String
                       .valueOf(entryDN)));
@@ -652,8 +652,7 @@
               TRACER.debugCaught(DebugLogLevel.ERROR, de);
             }
 
-            throw newDirectoryException(currentEntry, entryDN,
-                de.getResultCode(),
+            throw newDirectoryException(currentEntry, de.getResultCode(),
                 ERR_MODDN_CANNOT_PROCESS_ASSERTION_FILTER.get(
                     String.valueOf(entryDN),
                     de.getMessageObject()));

--
Gitblit v1.10.0