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