You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2008/02/12 16:17:35 UTC

svn commit: r620826 - /jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DocNumberCache.java

Author: mreutegg
Date: Tue Feb 12 07:17:27 2008
New Revision: 620826

URL: http://svn.apache.org/viewvc?rev=620826&view=rev
Log:
JCR-1377: Reduce memory usage of DocNumberCache

Modified:
    jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DocNumberCache.java

Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DocNumberCache.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DocNumberCache.java?rev=620826&r1=620825&r2=620826&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DocNumberCache.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DocNumberCache.java Tue Feb 12 07:17:27 2008
@@ -17,6 +17,7 @@
 package org.apache.jackrabbit.core.query.lucene;
 
 import org.apache.commons.collections.map.LRUMap;
+import org.apache.jackrabbit.uuid.UUID;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -93,8 +94,9 @@
      */
     void put(String uuid, CachingIndexReader reader, int n) {
         LRUMap cacheSegment = docNumbers[getSegmentIndex(uuid.charAt(0))];
+        UUID key = UUID.fromString(uuid);
         synchronized (cacheSegment) {
-            Entry e = (Entry) cacheSegment.get(uuid);
+            Entry e = (Entry) cacheSegment.get(key);
             if (e != null) {
                 // existing entry
                 // ignore if reader is older than the one in entry
@@ -112,7 +114,7 @@
             }
 
             if (e != null) {
-                cacheSegment.put(uuid, e);
+                cacheSegment.put(key, e);
             }
         }
     }
@@ -126,9 +128,10 @@
      */
     Entry get(String uuid) {
         LRUMap cacheSegment = docNumbers[getSegmentIndex(uuid.charAt(0))];
+        UUID key = UUID.fromString(uuid);
         Entry entry;
         synchronized (cacheSegment) {
-            entry = (Entry) cacheSegment.get(uuid);
+            entry = (Entry) cacheSegment.get(key);
         }
         if (log.isInfoEnabled()) {
             accesses++;