On Friday 13 February 2009 08:46, Daniel Cheng wrote: > On Fri, Feb 13, 2009 at 12:17 AM, <[email protected]> wrote: > > Author: toad > > Date: 2009-02-12 16:17:43 +0000 (Thu, 12 Feb 2009) > > New Revision: 25598 > > > > Modified: > > branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java > > branches/db4o/freenet/src/freenet/node/Node.java > > branches/db4o/freenet/src/freenet/support/RandomGrabArray.java > > branches/db4o/freenet/src/freenet/support/RemoveRandomWithObject.java > > branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArray.java > > branches/db4o/freenet/src/freenet/support/SectoredRandomGrabArrayWithObject.java > > Log: > > Hopefully fix leak > > > > > > Modified: branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java > > =================================================================== > > --- branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java 2009-02-12 14:35:21 UTC (rev 25597) > > +++ branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java 2009-02-12 16:17:43 UTC (rev 25598) > > @@ -447,6 +447,8 @@ > > SendableRequest req = (SendableRequest) chosenTracker.removeRandom(starter, container, context); > > if(chosenTracker.isEmpty()) { > > trackerParent.remove(chosenTracker.getNumber(), container); > > + if(chosenTracker.persistent()) > > + chosenTracker.removeFrom(container); > > if(trackerParent.isEmpty()) { > > if(logMINOR) Logger.minor(this, "Should remove priority"); > > } > > > > Modified: branches/db4o/freenet/src/freenet/node/Node.java > > =================================================================== > > --- branches/db4o/freenet/src/freenet/node/Node.java 2009-02-12 14:35:21 UTC (rev 25597) > > +++ branches/db4o/freenet/src/freenet/node/Node.java 2009-02-12 16:17:43 UTC (rev 25598) > > @@ -22,6 +22,7 @@ > > import java.util.MissingResourceException; > > import java.util.Random; > > import java.util.Set; > > +import java.util.TreeMap; > > import java.util.Vector; > > > > import org.spaceroots.mantissa.random.MersenneTwister; > > @@ -30,6 +31,7 @@ > > import com.db4o.Db4o; > > import com.db4o.ObjectContainer; > > import com.db4o.ObjectServer; > > +import com.db4o.ObjectSet; > > import com.db4o.config.Configuration; > > import com.db4o.config.QueryEvaluationMode; > > import com.db4o.diagnostic.ClassHasNoFields; > > @@ -893,6 +895,25 @@ > > db = Db4o.openFile(dbConfig, new File(nodeDir, "node.db4o").toString()); > > > > System.err.println("Opened database"); > > + > > + // DUMP DATABASE CONTENTS > > + System.err.println("DUMPING DATABASE CONTENTS:"); > > + ObjectSet<Object> contents = db.queryByExample(new Object()); > > + Map<String,Integer> map = new HashMap<String, Integer>(); > > + for(Object o : contents) { > > + String name = o.getClass().getName(); > > + if((map.get(name)) != null) { > > + map.put(name, map.get(name)+1); > > + } else { > > + map.put(name, 1); > > + } > > + } > > + int total = 0; > > + for(Map.Entry<String,Integer> entry : map.entrySet()) { > > + System.err.println(entry.getKey()+" : "+entry.getValue()); > > + total += entry.getValue(); > > + } > > + System.err.println("END DATABASE DUMP: "+total+" objects"); > > > [...] > java.util.concurrent.Semaphore : 1 > java.util.concurrent.Semaphore$NonfairSync : 1 > > semaphore is not safe to store in database (it's reference from the compressor)
Why not? This is not from the RealCompressor. It's from the COMPRESSOR_TYPE. It's static, so I'm not sure why it's being stored in the database at all...
pgpgDNLhIA6i1.pgp
Description: PGP signature
_______________________________________________ Devl mailing list [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
