Author: devl Date: To: cvs Subject: [freenet-cvs] r19895 -
branches/saltedhashstore/freenet/src/freenet/store
Author: j16sdiz
Date: 2008-05-11 17:04:21 +0000 (Sun, 11 May 2008)
New Revision: 19895
Modified:
branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
Log:
stat fix
Modified: branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java
===================================================================
--- branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java 2008-05-11 15:35:41 UTC (rev 19894)
+++ branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java 2008-05-11 17:04:21 UTC (rev 19895)
@@ -156,16 +156,22 @@
if (logMINOR)
Logger.minor(this, "Putting " + HexUtil.bytesToHex(routingKey) + " for " + callback);
- StorableBlock oldBlock = fetch(routingKey, fullKey, false);
+ // don't use fetch(), as fetch() would do a miss++/hit++
+ Entry oldEntry = probeEntry(routingKey);
- if (oldBlock != null) {
- if (!collisionPossible)
- return;
- if (block.equals(oldBlock)) {
- return; // already in store
- } else {
- if (!overwrite)
- throw new KeyCollisionException();
+ if (oldEntry != null) {
+ try {
+ StorableBlock oldBlock = oldEntry.getStorableBlock(routingKey, fullKey);
+ if (!collisionPossible)
+ return;
+ if (block.equals(oldBlock)) {
+ return; // already in store
+ } else {
+ if (!overwrite)
+ throw new KeyCollisionException();
+ }
+ } catch (KeyVerifyException e) {
+ // ignore
}
}