From 7c30dbb5403772b323df3ad907d9ed15d23b5aee Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Thu, 29 Apr 2010 20:35:40 +0000
Subject: [PATCH] Last batch of changes for this week. This adds support for the IETF based Password Policy for LDAP as SubEntry. Also resolves the following issues : - 4544 :  initializeBackend() should not set JE env config params directly. - 4478 : ECL in draft compat mode / search lastchangenumber can be very long - 4538 : Virtual attributes not retrieved when entry cache configured - 4547 : Search Filter Matching differ for cn=Directory Manager and plain user. - 4514 : Logs shows unexpected message with replication monitoring data missing (Partial fix) - 4534 : Replication using security does not work after server restart - 4516 : SEVERE_ERROR: servers (...) have the same ServerId In addition, they also improve reliability and performance in various areas including CollectiveAttributes, Virtual Attributes and Subentries management, Schema loading, Replication...

---
 opends/src/server/org/opends/server/extensions/DefaultEntryCache.java |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/opends/src/server/org/opends/server/extensions/DefaultEntryCache.java b/opends/src/server/org/opends/server/extensions/DefaultEntryCache.java
index fd27cba..b472c1e 100644
--- a/opends/src/server/org/opends/server/extensions/DefaultEntryCache.java
+++ b/opends/src/server/org/opends/server/extensions/DefaultEntryCache.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2008 Sun Microsystems, Inc.
+ *      Copyright 2008-2010 Sun Microsystems, Inc.
  */
 package org.opends.server.extensions;
 import java.lang.reflect.Method;
@@ -156,7 +156,7 @@
       cacheMisses.getAndIncrement();
     }
 
-    return entry;
+    return (entry != null ? entry.duplicate(true) : null);
   }
 
 
@@ -183,7 +183,7 @@
       cacheMisses.getAndIncrement();
     }
 
-    return entry;
+    return (entry != null ? entry.duplicate(true) : null);
   }
 
 
@@ -206,7 +206,7 @@
       cacheMisses.getAndIncrement();
     }
 
-    return entry;
+    return (entry != null ? entry.duplicate(true) : null);
   }
 
 
@@ -258,7 +258,8 @@
       // The first cache in the order which can take this entry
       // gets it.
       if (entryCache.filtersAllowCaching(entry)) {
-        entryCache.putEntry(entry, backend, entryID);
+        entryCache.putEntry(entry.duplicate(false),
+                backend, entryID);
         break;
       }
     }
@@ -275,7 +276,8 @@
       // The first cache in the order which can take this entry
       // gets it.
       if (entryCache.filtersAllowCaching(entry)) {
-        return entryCache.putEntryIfAbsent(entry, backend, entryID);
+        return entryCache.putEntryIfAbsent(entry.duplicate(false),
+                backend, entryID);
       }
     }
 

--
Gitblit v1.10.0