Author: toad
Date: 2007-03-21 01:42:32 +0000 (Wed, 21 Mar 2007)
New Revision: 12245

Modified:
   trunk/freenet/src/freenet/client/async/SingleBlockInserter.java
Log:
Fix double-completion-of-a-block bug

Modified: trunk/freenet/src/freenet/client/async/SingleBlockInserter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SingleBlockInserter.java     
2007-03-21 01:16:59 UTC (rev 12244)
+++ trunk/freenet/src/freenet/client/async/SingleBlockInserter.java     
2007-03-21 01:42:32 UTC (rev 12245)
@@ -83,7 +83,7 @@
                                Logger.error(this, "Caught "+e, e);
                                throw new 
InserterException(InserterException.INTERNAL_ERROR, e, null);
                        } catch (IOException e) {
-                               Logger.error(this, "Caught "+e, e);
+                               Logger.error(this, "Caught "+e+" encoding data 
"+sourceData, e);
                                throw new 
InserterException(InserterException.BUCKET_ERROR, e, null);
                        }
                } else if(uriType.equals("SSK") || uriType.equals("KSK")) {
@@ -293,7 +293,10 @@
                        if(b != null)
                                core.realPut(b, ctx.cacheLocalRequests);
                        else {
-                               fail(new 
InserterException(InserterException.CANCELLED));
+                               if(parent.isCancelled())
+                                       fail(new 
InserterException(InserterException.CANCELLED));
+                               else
+                                       fail(new 
InserterException(InserterException.BUCKET_ERROR));
                                return false;
                        }
                } catch (LowLevelPutException e) {


Reply via email to