Author: ssmiweve
Date: 2007-10-30 12:23:29 +0100 (Tue, 30 Oct 2007)
New Revision: 5855

Modified:
   
trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java
Log:
SEARCH-3625 - Better GC Behaviour


Modified: 
trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java
===================================================================
--- 
trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java  
    2007-10-30 09:47:16 UTC (rev 5854)
+++ 
trunk/query-api/src/main/java/no/sesat/search/query/parser/AbstractClause.java  
    2007-10-30 11:23:29 UTC (rev 5855)
@@ -112,7 +112,7 @@
         // log weakCache size every 100 increments
         if(weakCache.size() % 100 == 0){
             LOG.info(INFO_WEAK_CACHE_SIZE_1 + 
clause.getClass().getSimpleName() 
-                    + INFO_WEAK_CACHE_SIZE_1 + weakCache.size());
+                    + INFO_WEAK_CACHE_SIZE_2 + weakCache.size());
         }
     }
 
@@ -127,6 +127,7 @@
      * Also holds state information about the current term/clause we are 
finding predicates against.
      * @param predicates2check the complete list of predicates that could apply
      *   to the current clause we are finding predicates for.
+     * @return 
      */
     protected static final boolean findPredicates(
             final TokenEvaluationEngine engine,
@@ -236,18 +237,17 @@
 
     /** [EMAIL PROTECTED]
      */
+    @Override
     public String toString() {
         return getClass().getSimpleName() + "[" + getTerm() + "]";
     }
 
 
+    private static final class WeakClauseReference<T> extends WeakReference<T>{
 
+        private Map<String,WeakReference<T>> weakCache;
+        private String key;
 
-    private static final class WeakClauseReference<T> extends WeakReference{
-
-        private final Map<String,WeakReference<T>> weakCache;
-        private final String key;
-
         WeakClauseReference(
                 final String key,
                 final T clause,
@@ -258,9 +258,12 @@
             this.weakCache = weakCache;
         }
 
+        @Override
         public void clear() {
             // clear the hashmap entry too!
             weakCache.remove(key);
+            weakCache = null;
+            key = null;
             // clear the referent
             super.clear();
         }

_______________________________________________
Kernel-commits mailing list
Kernel-commits@sesat.no
http://sesat.no/mailman/listinfo/kernel-commits

Reply via email to