From af76a3750288d90c006022829887c92601a4737c Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Mon, 24 Jun 2013 11:56:44 +0000
Subject: [PATCH] OPENDJ-885 - Replication replay may lose changes if it can't acquire a writeLock

---
 opends/src/server/org/opends/server/extensions/SASLContext.java |   28 +++++++---------------------
 1 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/opends/src/server/org/opends/server/extensions/SASLContext.java b/opends/src/server/org/opends/server/extensions/SASLContext.java
index a549f70..b559b7a 100644
--- a/opends/src/server/org/opends/server/extensions/SASLContext.java
+++ b/opends/src/server/org/opends/server/extensions/SASLContext.java
@@ -23,21 +23,14 @@
  *
  *
  *      Copyright 2008-2009 Sun Microsystems, Inc.
- *      Portions copyright 2011-2012 ForgeRock AS.
+ *      Portions copyright 2011-2013 ForgeRock AS.
  */
-
 package org.opends.server.extensions;
 
-
-
 import static org.opends.messages.ExtensionMessages.*;
-import static org.opends.server.loggers.debug.DebugLogger.debugEnabled;
-import static org.opends.server.loggers.debug.DebugLogger.getTracer;
-import static org.opends.server.util.ServerConstants.SASL_DEFAULT_PROTOCOL;
-import static org.opends.server.util.ServerConstants.SASL_MECHANISM_DIGEST_MD5;
-import static org.opends.server.util.ServerConstants.SASL_MECHANISM_GSSAPI;
-import static org.opends.server.util.StaticUtils.getExceptionMessage;
-import static org.opends.server.util.StaticUtils.toLowerCase;
+import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.util.ServerConstants.*;
+import static org.opends.server.util.StaticUtils.*;
 
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
@@ -188,6 +181,7 @@
    * @throws UnsupportedCallbackException
    *           If a callback is not supported.
    */
+  @Override
   public void handle(final Callback[] callbacks)
       throws UnsupportedCallbackException
   {
@@ -227,6 +221,7 @@
    *
    * @return {@code true} if the authentication processing was successful.
    */
+  @Override
   public Boolean run()
   {
     final ClientConnection clientConn = bindOp.getClientConnection();
@@ -905,16 +900,7 @@
    */
   private void getAuthEntry(final DN userDN)
   {
-    Lock readLock = null;
-    for (int i = 0; i < 3; i++)
-    {
-      readLock = LockManager.lockRead(userDN);
-      if (readLock != null)
-      {
-        break;
-      }
-    }
-
+    final Lock readLock = LockManager.lockRead(userDN);
     if (readLock == null)
     {
       setCallbackMsg(INFO_SASL_CANNOT_LOCK_ENTRY.get(String.valueOf(userDN)));

--
Gitblit v1.10.0