[freenet-cvs] r12022 - trunk/freenet/src/freenet/store

toad at freenetproject.org toad at freenetproject.org
Thu Mar 8 00:01:01 UTC 2007


Author: toad
Date: 2007-03-08 00:00:43 +0000 (Thu, 08 Mar 2007)
New Revision: 12022

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Correct logic for handling EOF in the middle of a block.

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2007-03-07 22:56:06 UTC (rev 12021)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2007-03-08 00:00:43 UTC (rev 12022)
@@ -1111,10 +1111,14 @@
 				}
 			}
 		} catch (EOFException e) {
-			System.err.println("Caught EOF, migrating...");
+			long size = l * (dataBlockSize + headerBlockSize);
+			System.err.println("Caught EOF, truncating to "+l+" blocks : "+size);
 			chkBlocksInStore = l;
-			migrate();
-			return;
+			try {
+				chkStore.setLength(size);
+			} catch (IOException e1) {
+				System.err.println("Failed to set size");
+			}
 		} catch (IOException e) {
 			Logger.error(this, "Caught "+e, e);
 			throw new Error(e);




More information about the cvs mailing list