Author: toad
Date: 2008-10-23 23:16:11 +0000 (Thu, 23 Oct 2008)
New Revision: 23065

Modified:
   branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
   branches/db4o/freenet/src/freenet/node/NodeClientCore.java
   branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
   
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
   branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java
Log:
Minor bugfixes relating to segmented bucket chain bucket


Modified: branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java        
2008-10-23 22:53:14 UTC (rev 23064)
+++ branches/db4o/freenet/src/freenet/client/async/InsertCompressor.java        
2008-10-23 23:16:11 UTC (rev 23065)
@@ -154,8 +154,6 @@
                                        public void run(ObjectContainer 
container, ClientContext context) {
                                                
if(container.ext().isActive(inserter))
                                                        Logger.error(this, 
"ALREADY ACTIVE in compressed callback: "+inserter);
-                                               // Must call storeTo at this 
point to cancel the delete-on-startup job.
-                                               output.data.storeTo(container);
                                                container.activate(inserter, 1);
                                                inserter.onCompressed(output, 
container, context);
                                                container.deactivate(inserter, 
1);

Modified: branches/db4o/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2008-10-23 
22:53:14 UTC (rev 23064)
+++ branches/db4o/freenet/src/freenet/node/NodeClientCore.java  2008-10-23 
23:16:11 UTC (rev 23065)
@@ -573,6 +573,8 @@
                        }
                }, "Startup completion thread");

+               if(startupDatabaseJobs != null &&
+                               startupDatabaseJobs.length > 0)
                queue(startupJobRunner, NativeThread.HIGH_PRIORITY, false);
        }


Modified: 
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java    
    2008-10-23 22:53:14 UTC (rev 23064)
+++ 
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucket.java    
    2008-10-23 23:16:11 UTC (rev 23065)
@@ -346,6 +346,17 @@
        }

        synchronized void clear() {
+               dbJobRunner.runBlocking(new DBJob() {
+
+                       public void run(ObjectContainer container, 
ClientContext context) {
+                               for(SegmentedChainBucketSegment segment : 
segments) {
+                                       container.activate(segment, 1);
+                                       segment.clear(container, context);
+                               }
+                               
container.delete(SegmentedBucketChainBucket.class);
+                       }
+                       
+               }, NativeThread.HIGH_PRIORITY);
                segments.clear();
        }


Modified: 
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
 2008-10-23 22:53:14 UTC (rev 23064)
+++ 
branches/db4o/freenet/src/freenet/support/io/SegmentedBucketChainBucketKillJob.java
 2008-10-23 23:16:11 UTC (rev 23065)
@@ -15,7 +15,6 @@

        public void run(ObjectContainer container, ClientContext context) {
                container.activate(bcb, 1);
-               if(bcb.stored) return;
                System.err.println("Freeing unfinished unstored bucket "+this);
                bcb.removeFrom(container);
        }

Modified: 
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java   
    2008-10-23 22:53:14 UTC (rev 23064)
+++ 
branches/db4o/freenet/src/freenet/support/io/SegmentedChainBucketSegment.java   
    2008-10-23 23:16:11 UTC (rev 23065)
@@ -6,6 +6,7 @@

 import com.db4o.ObjectContainer;

+import freenet.client.async.ClientContext;
 import freenet.support.api.Bucket;

 public class SegmentedChainBucketSegment {
@@ -62,4 +63,10 @@
                container.activate(buckets, 1);
        }

+       public void clear(ObjectContainer container, ClientContext context) {
+               buckets.clear();
+               container.delete(buckets);
+               container.delete(this);
+       }
+
 }


Reply via email to