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

Reply via email to