From 47be44124da7f6ad42bed03a24701ca07c00918d Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Wed, 12 Sep 2007 00:03:02 +0000
Subject: [PATCH] Make a couple of changes to help improve server performance:

---
 opends/src/server/org/opends/server/schema/UTCTimeSyntax.java |   50 ++++++++++----------------------------------------
 1 files changed, 10 insertions(+), 40 deletions(-)

diff --git a/opends/src/server/org/opends/server/schema/UTCTimeSyntax.java b/opends/src/server/org/opends/server/schema/UTCTimeSyntax.java
index fcd0ca1..5b84536 100644
--- a/opends/src/server/org/opends/server/schema/UTCTimeSyntax.java
+++ b/opends/src/server/org/opends/server/schema/UTCTimeSyntax.java
@@ -25,15 +25,15 @@
  *      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  */
 package org.opends.server.schema;
-import org.opends.messages.Message;
 
 
 
 import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.TimeZone;
-import java.util.concurrent.locks.ReentrantLock;
 
+import org.opends.messages.Message;
+import org.opends.messages.MessageBuilder;
 import org.opends.server.admin.std.server.AttributeSyntaxCfg;
 import org.opends.server.api.ApproximateMatchingRule;
 import org.opends.server.api.AttributeSyntax;
@@ -42,20 +42,17 @@
 import org.opends.server.api.SubstringMatchingRule;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
+import org.opends.server.loggers.debug.DebugTracer;
 import org.opends.server.protocols.asn1.ASN1OctetString;
 import org.opends.server.types.AttributeValue;
 import org.opends.server.types.ByteString;
+import org.opends.server.types.DebugLogLevel;
 import org.opends.server.types.DirectoryException;
-
-
 import org.opends.server.types.ResultCode;
 
-import static org.opends.server.loggers.debug.DebugLogger.*;
-import org.opends.server.loggers.debug.DebugTracer;
-import static org.opends.server.loggers.ErrorLogger.*;
-import org.opends.server.types.DebugLogLevel;
 import static org.opends.messages.SchemaMessages.*;
-import org.opends.messages.MessageBuilder;
+import static org.opends.server.loggers.debug.DebugLogger.*;
+import static org.opends.server.loggers.ErrorLogger.*;
 import static org.opends.server.schema.SchemaConstants.*;
 import static org.opends.server.util.ServerConstants.*;
 
@@ -83,7 +80,7 @@
    * The lock that will be used to provide threadsafe access to the date
    * formatter.
    */
-  private static ReentrantLock dateFormatLock;
+  private static Object dateFormatLock;
 
 
 
@@ -116,7 +113,7 @@
     dateFormat.setLenient(false);
     dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
 
-    dateFormatLock = new ReentrantLock();
+    dateFormatLock = new Object();
   }
 
 
@@ -844,26 +841,10 @@
   {
     String valueString;
 
-    dateFormatLock.lock();
-
-    try
+    synchronized (dateFormatLock)
     {
       valueString = dateFormat.format(d);
     }
-    catch (Exception e)
-    {
-      if (debugEnabled())
-      {
-        TRACER.debugCaught(DebugLogLevel.ERROR, e);
-      }
-
-      // This should never happen.
-      valueString = null;
-    }
-    finally
-    {
-      dateFormatLock.unlock();
-    }
 
     return new AttributeValue(new ASN1OctetString(valueString),
                               new ASN1OctetString(valueString));
@@ -890,21 +871,10 @@
     String valueString = normalizedValue.stringValue();
     try
     {
-      dateFormatLock.lock();
-
-      try
+      synchronized (dateFormatLock)
       {
         return dateFormat.parse(valueString);
       }
-      catch (Exception e)
-      {
-        // We'll let this be handled by the outer loop.
-        throw e;
-      }
-      finally
-      {
-        dateFormatLock.unlock();
-      }
     }
     catch (Exception e)
     {

--
Gitblit v1.10.0