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);
+ }
+
}