Author: toad
Date: 2008-07-12 16:39:36 +0000 (Sat, 12 Jul 2008)
New Revision: 21109
Modified:
branches/db4o/freenet/src/freenet/support/io/PersistentEncryptedTempBucketFactory.java
Log:
Maybe fix Cooo's OOM
Modified:
branches/db4o/freenet/src/freenet/support/io/PersistentEncryptedTempBucketFactory.java
===================================================================
---
branches/db4o/freenet/src/freenet/support/io/PersistentEncryptedTempBucketFactory.java
2008-07-12 16:34:35 UTC (rev 21108)
+++
branches/db4o/freenet/src/freenet/support/io/PersistentEncryptedTempBucketFactory.java
2008-07-12 16:39:36 UTC (rev 21109)
@@ -8,6 +8,7 @@
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.query.Predicate;
+import com.db4o.query.Query;
import freenet.support.api.Bucket;
import freenet.support.api.BucketFactory;
@@ -26,11 +27,16 @@
}
public static PersistentEncryptedTempBucketFactory load(final
PersistentTempBucketFactory persistentTempBucketFactory, ObjectContainer
container) {
- ObjectSet results = container.query(new Predicate() {
- public boolean
match(PersistentEncryptedTempBucketFactory bf) {
- return bf.bf == persistentTempBucketFactory;
- }
- });
+ // This causes an OOM in init. WTF?
+// ObjectSet results = container.query(new Predicate() {
+// public boolean
match(PersistentEncryptedTempBucketFactory bf) {
+// return bf.bf == persistentTempBucketFactory;
+// }
+// });
+ Query query = container.query();
+ query.constrain(PersistentEncryptedTempBucketFactory.class);
+ query.descend("bf").constrain(persistentTempBucketFactory);
+ ObjectSet results = query.execute();
if(results.hasNext()) {
return (PersistentEncryptedTempBucketFactory)
results.next();
} else {