Author: toad
Date: 2008-07-23 20:24:03 +0000 (Wed, 23 Jul 2008)
New Revision: 21355

Modified:
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
   branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Deactivate keys after creating a segment. Logging.

Modified: branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-07-23 20:23:11 UTC (rev 21354)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcher.java        
2008-07-23 20:24:03 UTC (rev 21355)
@@ -159,6 +159,7 @@
                                        this, archiveContext, fetchContext, 
maxTempLength, recursionLevel, parent);
                        if(persistent) {
                                container.set(segments[0]);
+                               segments[0].deactivateKeys(container);
                                container.deactivate(segments[0], 1);
                        }
                } else {
@@ -180,6 +181,7 @@
                                                fetchContext, maxTempLength, 
recursionLevel+1, parent);
                                if(persistent) {
                                        container.set(segments[i]);
+                                       segments[i].deactivateKeys(container);
                                        container.deactivate(segments[i], 1);
                                }
                        }

Modified: 
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-07-23 20:23:11 UTC (rev 21354)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2008-07-23 20:24:03 UTC (rev 21355)
@@ -718,6 +718,9 @@
                        if(persistent)
                                container.activate(seg, 1);
                        seg.addAll(dataRetries.length+checkRetries.length, 
true, container, context, false);
+
+                       if(logMINOR)
+                               Logger.minor(this, "scheduling "+seg+" : 
"+seg.blockNums);

                        seg.schedule(container, context, true, regmeOnly);
                        if(persistent)
@@ -727,8 +730,6 @@
                        }
                        if(persistent)
                                container.set(this);
-                       if(logMINOR)
-                               Logger.minor(this, "scheduling "+seg+" : 
"+seg.blockNums);
                } catch (Throwable t) {
                        Logger.error(this, "Caught "+t+" scheduling "+this, t);
                        fail(new FetchException(FetchException.INTERNAL_ERROR, 
t), container, context, true);
@@ -1151,4 +1152,11 @@
        public boolean persistent() {
                return persistent;
        }
+
+       public void deactivateKeys(ObjectContainer container) {
+               for(int i=0;i<dataKeys.length;i++)
+                       container.deactivate(dataKeys[i], 1);
+               for(int i=0;i<checkKeys.length;i++)
+                       container.deactivate(checkKeys[i], 1);
+       }
 }


Reply via email to