Author: toad
Date: 2007-03-08 15:03:24 +0000 (Thu, 08 Mar 2007)
New Revision: 12038
Modified:
trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Fix NPE in countCHKBlocksFromFile() from migrate()
Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08
14:53:56 UTC (rev 12037)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-08
15:03:24 UTC (rev 12038)
@@ -518,7 +518,7 @@
} catch (DatabaseNotFoundException e) {
System.err.println("Migrating block db index");
// De-dupe on keys and block numbers.
- migrate();
+ migrate(storeFile.length() / (dataBlockSize +
headerBlockSize));
System.err.println("De-duped, creating new index...");
blockNoDbConfig.setSortedDuplicates(false);
blockNoDbConfig.setAllowCreate(true);
@@ -1138,12 +1138,11 @@
*
* FIXME: Create a list of reusable block numbers?
*/
- private void migrate() throws DatabaseException {
+ private void migrate(long keyCount) throws DatabaseException {
System.err.println("Migrating database: Creating unique index
on block number");
HashSet s = new HashSet();
- long keyCount = countCHKBlocksFromDatabase();
WrapperManager.signalStarting((int)(Math.max(Integer.MAX_VALUE,
5*60*1000 + keyCount*1000)));
Cursor c = null;