Author: toad
Date: 2007-03-24 18:06:34 +0000 (Sat, 24 Mar 2007)
New Revision: 12317

Modified:
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Detect another indicator of a corrupt secondary DB

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-24 
16:59:22 UTC (rev 12316)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2007-03-24 
18:06:34 UTC (rev 12317)
@@ -1841,7 +1841,9 @@
        }

        private void checkSecondaryDatabaseError(Throwable ex) {
-       if((ex instanceof DatabaseException) && (ex.getMessage() != null && 
ex.getMessage().indexOf("missing key in the primary database") > -1)) {
+               String msg = ex.getMessage();
+       if((ex instanceof DatabaseException) && (msg != null && 
(msg.indexOf("missing key in the primary database") > -1) ||
+                       msg.indexOf("the primary record contains a key that is 
not present in the secondary") > -1)) {
                try {
                                fixSecondaryFile.createNewFile();
                        } catch (IOException e) {


Reply via email to