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();