Author: j16sdiz
Date: 2008-09-19 15:20:51 +0000 (Fri, 19 Sep 2008)
New Revision: 22704

Modified:
   trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
   trunk/freenet/src/freenet/support/BloomFilter.java
Log:
don't update main filter from Cleaner thread

Modified: trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java      
2008-09-19 14:49:15 UTC (rev 22703)
+++ trunk/freenet/src/freenet/store/saltedhash/SaltedHashFreenetStore.java      
2008-09-19 15:20:51 UTC (rev 22704)
@@ -1002,7 +1002,7 @@
                                                // new size, don't have to 
relocate
                                                if (entry.generation != 
generation) {
                                                        // update filter
-                                                       
bloomFilter.addKey(entry.getDigestedRoutingKey());
+                                                       
bloomFilter.addKeyForked(entry.getDigestedRoutingKey());
                                                        return entry;
                                                } else {
                                                        return NOT_MODIFIED;
@@ -1103,7 +1103,7 @@

                                public Entry process(Entry entry) {
                                        if (entry.generation != generation) {
-                                               
bloomFilter.addKey(entry.getDigestedRoutingKey());
+                                               
bloomFilter.addKeyForked(entry.getDigestedRoutingKey());
                                                keyCount.incrementAndGet();

                                                entry.generation = generation;
@@ -1325,7 +1325,7 @@
                                        try {
                                                if (isFree(offset)) {
                                                        writeEntry(entry, 
offset);
-                                                       
bloomFilter.addKey(entry.getDigestedRoutingKey());
+                                                       
bloomFilter.addKeyForked(entry.getDigestedRoutingKey());
                                                        
keyCount.incrementAndGet();
                                                        return true;
                                                }

Modified: trunk/freenet/src/freenet/support/BloomFilter.java
===================================================================
--- trunk/freenet/src/freenet/support/BloomFilter.java  2008-09-19 14:49:15 UTC 
(rev 22703)
+++ trunk/freenet/src/freenet/support/BloomFilter.java  2008-09-19 15:20:51 UTC 
(rev 22704)
@@ -60,6 +60,12 @@
                        forkedFilter.addKey(key);
        }

+       // add to the forked filter only
+       public void addKeyForked(byte[] key) {
+               if (forkedFilter != null)
+                       forkedFilter.addKey(key);
+       }
+
        public boolean checkFilter(byte[] key) {
                Random hashes = getHashes(key);
                lock.readLock().lock();


Reply via email to