[freenet-cvs] r12033 - trunk/freenet/src/freenet/store
toad at freenetproject.org
toad at freenetproject.org
Thu Mar 8 14:43:10 UTC 2007
Author: toad
Date: 2007-03-08 14:43:09 +0000 (Thu, 08 Mar 2007)
New Revision: 12033
Modified:
trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Count dupes in reconstruct
Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08 14:33:11 UTC (rev 12032)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08 14:43:09 UTC (rev 12033)
@@ -591,7 +591,7 @@
}
private long checkForHoles(long blocksInFile, boolean dontTruncate) throws DatabaseException {
- System.err.println("Checking for holes in database...");
+ System.err.println("Checking for holes in database... "+blocksInFile+" blocks in file");
WrapperManager.signalStarting(5*60*1000 + (int)blocksInFile*100); // 10/sec
long holes = 0;
long maxPresent = 0;
@@ -1069,6 +1069,7 @@
byte[] header = new byte[headerBlockSize];
byte[] data = new byte[dataBlockSize];
long l = 0;
+ long dupes = 0;
try {
chkStore.seek(0);
for(l=0;true;l++) {
@@ -1101,10 +1102,11 @@
DatabaseEntry routingkeyDBE = new DatabaseEntry(routingkey);
DatabaseEntry blockDBE = new DatabaseEntry();
storeBlockTupleBinding.objectToEntry(storeBlock, blockDBE);
- chkDB.put(t,routingkeyDBE,blockDBE);
+ OperationStatus op = chkDB.putNoOverwrite(t,routingkeyDBE,blockDBE);
+ if(op == OperationStatus.KEYEXIST) dupes++;
t.commit();
if(l % 1024 == 0)
- System.out.println("Key "+l+ '/' +(chkStore.length()/(dataBlockSize+headerBlockSize))+" OK");
+ System.out.println("Key "+l+ '/' +(chkStore.length()/(dataBlockSize+headerBlockSize))+" OK ("+dupes+" dupes)");
t = null;
} finally {
if(t != null) t.abort();
More information about the cvs
mailing list