Author: toad
Date: 2009-03-18 13:23:16 +0000 (Wed, 18 Mar 2009)
New Revision: 26093
Modified:
branches/db4o/freenet/src/freenet/client/async/Db4oBugs.java
Log:
Document the bug :(
Modified: branches/db4o/freenet/src/freenet/client/async/Db4oBugs.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/Db4oBugs.java
2009-03-18 13:18:54 UTC (rev 26092)
+++ branches/db4o/freenet/src/freenet/client/async/Db4oBugs.java
2009-03-18 13:23:16 UTC (rev 26093)
@@ -17,5 +17,18 @@
query.constrain(HasKeyListener.class);
return query.execute();
}
+
+ /* This one needs to be worked around in the code:
+ * Storing an object containing a HashMap without storing the HashMap
first results
+ * in the HashMap being stored empty. After restart, loading it gives
an empty
+ * HashMap. This causes all manner of problems! Look at SVN r26092:
manifestElements
+ * (a HashMap, in this case a derivative of HashMap for debugging
purposes, which
+ * is part of ClientPutDir, and can contain other HashMap's) becomes
empty on shutdown,
+ * even though it was full in objectCanNew(), objectOnNew(), and
+ * objectCanUpdate/objectOnUpdate (which don't get called since
changing the store
+ * depth in FCPClient). To reproduce simply start the node, start an
insert for a
+ * small directory, shutdown the node after a few seconds, start it
back up. Hook
+ * into e.g. ClientPutDir.receive() (or wait for freeData(), which is
where it
+ * matters). Even when it is activated, it is empty. */
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs