Author: toad
Date: 2006-07-21 17:17:18 +0000 (Fri, 21 Jul 2006)
New Revision: 9697

Modified:
   trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
   trunk/freenet/src/freenet/node/Version.java
Log:
889:
Don't restart the whole insert just because a check block failed to 
deserialize; re-encode it.

Modified: trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java        
2006-07-21 17:14:51 UTC (rev 9696)
+++ trunk/freenet/src/freenet/client/async/SplitFileInserterSegment.java        
2006-07-21 17:17:18 UTC (rev 9697)
@@ -172,7 +172,10 @@
                                        try {
                                                checkBlocks[i] = 
SerializableToFieldSetBucketUtil.create(bucketFS, ctx.random, 
ctx.persistentFileTracker);
                                        } catch 
(CannotCreateFromFieldSetException e) {
-                                               throw new 
ResumeException("Failed to deserialize check block "+i+" of "+segNo+" : "+e, e);
+                                               Logger.error(this, "Failed to 
deserialize check block "+i+" of "+segNo+" : "+e, e);
+                                               // Re-encode it.
+                                               checkBlocks[i] = null;
+                                               encoded = false;
                                        }
                                        if(checkBlocks[i] == null)
                                                throw new 
ResumeException("Check block "+i+" of "+segNo+" not finished but no data 
(create returned null)");

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-07-21 17:14:51 UTC (rev 
9696)
+++ trunk/freenet/src/freenet/node/Version.java 2006-07-21 17:17:18 UTC (rev 
9697)
@@ -18,7 +18,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 888;
+       private static final int buildNumber = 889;

        /** Oldest build of Fred we will talk to */
        private static final int oldLastGoodBuild = 870;


Reply via email to