Author: toad
Date: 2008-02-14 15:44:00 +0000 (Thu, 14 Feb 2008)
New Revision: 17891

Modified:
   trunk/freenet/src/freenet/node/Version.java
Log:
1110:
Swapping:
- Swap queueing: queue incoming swap requests up to a limit (instead of 
rejecting them when we can't lock), process each one after the last one in 
unlock().
- The length of the queue is limited to 10 items.
- Any item that stays on the queue for 30 seconds is removed and rejected. 
Loops are possible (A waiting for B waiting for A), this prevents them from 
being a major problem.
- Should increase swap performance significantly (75% of requests were blocked 
in simulation due to already-locked, very few after this code implemented).
Client layer:
- Don't delete the persistent downloads list until we've written a new one.
Content anonymity filters:
- Improved PNG filter strips out comments, timestamps, chunks with bad CRC, 
(some) chunks in wrong order, unknown-type chunks. No santising of individual 
chunks atm.
- Fix some data corruption bugs caused by double closing.
More work on network coloring (NetworkIDManager)
- Initial network coloring implementation.
- Turned off for now.
- Lots of debugging.
- Lots of logging/output work.
- Try to show keyspace merging in output.
- Disabled code to support separating swapping in different network IDs.
- Variable renaming etc.
Messaging layer:
- Resend after 2 RTTs, re-resend after another two RTTs. Not four RTTs, that's 
too long given our rather strange pull-based retransmission. Cut the min/max in 
half accordingly.
- Increase the Accepted timeout to 10 seconds on RequestSender (it's already 10 
seconds on inserts).
- The above two changes eliminate Accepted timeouts in simulations during the 
bootstrap phase.
- Comment out sensitivity-starts-high-and-drops kludge in 
TimeDecayingRunningAverage. We don't need it, and it was causing TDRA to be 
inconsistent: 10x reports separated by 2 seconds each having a different effect 
to 20x reports separated by 1 second.
Ping time averages:
- Much shorter per-peer averager half-life: 30 seconds not 4 minutes.
- Include backed-off peers in ping time average, as discussed on mailing list a 
while ago.
- Don't do any overall smoothing.
Persistent throttles:
- Only make the default relative to the nodeDir, not whatever is configured. 
Because we can't easily save it as relative to the nodeDir, so it breaks itself.
FProxy refactoring: (so that the fproxy data structures, and the bookmark 
manager in particular, don't get created until we've turned on fproxy)
- Finish fproxyConfig in Node after creating STS.
- Create and register Fproxy toadlets when fproxy is enabled, or on startup if 
fproxy is enabled on startup.
- Move BookmarkManager into Fproxy. So we don't poll for bookmark updates if 
fproxy hasn't been enabled at some point during this startup.
- Remove bookmarks-in-config-file backwards compatibility code.
Web interface:
- /wizard does a permanent redirect to /wizard/
More work on many-nodes-one-VM simulations:
- Factor various commonly used functions out into RealNodeTest.
- Factor out the initial ping logic into a method in RealNodeRoutingTest and 
inherit to RealNodeInsertRequestTest.
- Add options to makeKleinbergNetwork() to always link to neighbours, and to 
set ideal locations.
- Disable hang checkers when testing.
- Major logging fix - we were initialising the logger twice, the second time 
including heavy logging when we didn't want it (in most tests). Init logging 
only from globalTestInit().
- Mass delete old data at beginning of more tests.
- Exit with failure if the network doesn't settle in 2000 pings in 
waitForPingAverage().
- Clean up old routed ping contexts regularly.
- RequestInsertTest parameter tweaking.
- Pass in parameters to NodeStarter.createTestNode() for enableSwapping, 
enableARKs, enableULPRs, enablePerNodeFailureTables, enableSwapQueueing.
- Pass in inter-ping pause time in RealNodeRoutingTest.
- Lots of logging/output tweaks.
- enableSwapping node config option, used in simulations. enableSwapQueueing 
also for comparison with old pre-queueing algorithm.
- Fix some wrong config field names in NodeStarter.createTestNode().
- Use waitForAllConnected() in all tests.
- Wait for ping test to be working consistently before doing request/insert 
tests.
- Make PeerManager.countConnectedDarknetPeers() immediately accurate.
- waitForAllConnected(): wait for no backed off nodes as well as all connected.
- waitForAllConnected(): display and wait for min/avg/max ping times < 
SUB_MAX_PING_TIME.
- InsertRequestTest: log count and UIDs of running UIDs. There shouldn't be any 
but a few may be left behind for a short period (race conditions), and bugs may 
cause larger leaks. Other tweaks.
- Disable persistent downloads for test nodes.
- waitForAllConnected() between ping cycles.
Probe requests:
- best was returning the closest location to the target seen, not the closest 
location greater than the target.
FCP:
- CONFIG_REQUEST_TYPE_DATA_TYPE to ask what kind of data the value for a config 
option can be.
Datastore:
- Squash post-close() IOException: Bad file descriptor.
- Turn off db-dump recovery for now (it's never worked), just go straight to 
reconstruction.
- Routed pings: don't double-decrement on rejection, don't try every node 
connected to each node on the path at htl 0 (just kill it at htl 0).
Bookmarks updates.
Dev stuff:
- Logging.
- Indenting.
- Imports.
- Comments.
- Thread names (including making them coalescable on the stats page).
- Minor synchronization in Node.runningUIDs.
- Remove some unused variables and dead code, including in plugins. Also 
replace a deprecated function call with its modern equivalent in MDNSDiscovery.
- Add serialVersionUID's to stop eclipse warnings.

Thingamablog:
- Commit a clean copy of thingamablog again, for clarity.
- Then apply the patch with the beginnings of flog support.
- Freenet blogs use local transport.
- Include jSite FCP layer to do the actual insert.
- Various UI changes related to publishing to Freenet.

dieppe
nextgens
robert
toad


Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-02-14 11:19:13 UTC (rev 
17890)
+++ trunk/freenet/src/freenet/node/Version.java 2008-02-14 15:44:00 UTC (rev 
17891)
@@ -24,11 +24,11 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 1109;
+       private static final int buildNumber = 1110;

        /** Oldest build of Fred we will talk to */
        private static final int oldLastGoodBuild = 1108;
-       private static final int newLastGoodBuild = 1109;
+       private static final int newLastGoodBuild = 1110;
        static final long transitionTime;

        static {


Reply via email to