[freenet-cvs] r22843 - trunk/freenet/src/freenet/node
Author: toad Date: 2008-09-26 11:58:27 + (Fri, 26 Sep 2008) New Revision: 22843 Modified: trunk/freenet/src/freenet/node/Version.java Log: 1165: mandatory 3 October 0:00 ipAddressOverride: - Really fix the NPE on startup bug. - Include override dns addresses in noderefs even if we haven't resolved them. Appears to fix a problem with override address not appearing in noderefs. Web interface: - Change the skip-the-wizard text to make it more obvious that it's a bad idea. - Improve some strings for some forms and page headings. - Improve descriptions for some options. - Improve the upload a file form to make it more obvious that uploading through the browser or browsing files on disk are alternatives. - Rename networkSizeEstimate to darknetSizeEstimate, since only darknet nodes swap now. - Update bookmark editions. - Remove development flogs from bookmarks. Bug #2582 : lots of CHK offer replies not going away, causing collapse in bandwidth usage - Fix various places where we might not have unlocked a UID for an offer reply. - Hopefully this will fix this serious and fairly widely reported bug. L10n: - English: Fix typo, update documentation for some store options, minor changes (promiscuous mode -> insecure mode), , improve the strings for some forms (add a friend, insert a file), improve title string at top of download page, remove OpennetUserAlert.*, remove a reference to insecure mode. - Italian: Updated translation from Luke771, - Finnish: Updated translation from Smar. - Chinese: Updated translation from yongjhen. Low level: sending and throttling packets: - Largish refactoring, some optimisations. Get rid of alreadyReportedBytes, don't use DoubleTokenBucket, move message queue to PeerMessageQueue. The below may cost some CPU. - Some counting accuracy fixes when determining whether to send a packet. - Round-robin between peers: send *one* packet to a given peer, then move on to the next. If there are more packets to send, immediately loop around again. This will prevent the node from using all its bandwidth/time/etc to send packets to a single node with a big backlog, especially if sending packets is taking a long time. - Resolve MessageItem's on creation, as doing it lazily doesn't save any memory in practice and complicates the code. - Implement hard bandwidth limiting of all packets at the PacketSender level. - Bucket size for bandwidth limiter is 500ms at full speed (as it was) or 2KB, whichever is larger. - Within a priority, round-robin between different message groups (a group is a bunch of messages with the same ID). We more or less did this before with the old throttling system; this restores it in a different implementation. Salted hash datastore: - Make the store type option be always written to disk, regardless of whether it is the default or not. So changing the default will not cause costly migrations. - Eliminate lock contention: no need to add the key to the primary filter when rebuilding the bloom filter. Don't sleep when rebuilding bloom filter, apparently not necessary now. Do need to lock the forked filter when merging however. - Format change: one .hd file for both headers and data. There is auto-migration, one store at a time (there are 6), but it will take some disk space. Sorry, this shouldn't happen in future; it's a fairly big gain, reducing the number of seeks from 3 to 2. - Preallocate data (fill with random bytes) by default to ensure predictable disk usage, and avoid long unkillable disk-thrashing CPU-thrashing (if encrypted) syscalls. Off on non-mac unixes if physical security is LOW. This happens on initial creation (1G so won't take long), on-line after changing size in config, or offline on restart if changing size didn't complete. - Timeout locks after 20 seconds, and poll for shutdown every 2 seconds, to avoid causing unclean shutdowns. Plugins: - Fix removing plugins from cache for unofficial plugins. - Fix loading unofficial plugins on node restart. Opennet: - Let the user change connectToSeednodes by restarting the node. Internal: (fix possible bugs, but not immediately obvious where they would be): - Synchronization in SortedLongSet. Misc: - Feed blocks to the client layer even if we can't store them (e.g. because the datastore is being resized). Dev stuff: - Logging. - Comments. - Delete dead code. - Use an enum for the store contents type (CHK/PUBKEY/SSK). - More minor refactoring. - Generics, ArrayList, imports, autoboxing, more specific return/variable types, for(:) loops. Unit tests: - Complete the test case for UpdatableSortedLinkedList. Installer: - Browse Freenet script was broken, opening a firefox window pointing to the current directory instead of the node. Fixed. - Make the auto-start setting a top-level option, and strengthen the wording about it. UPnP: - Set thread names. Website: - Fix link to offline installer. - Get rid of reddit/digg links on the 0.7.0 announcement. - Mention seclevel normal/low on the
[freenet-cvs] r22843 - trunk/freenet/src/freenet/node
Author: toad Date: 2008-09-26 11:58:27 + (Fri, 26 Sep 2008) New Revision: 22843 Modified: trunk/freenet/src/freenet/node/Version.java Log: 1165: mandatory 3 October 0:00 ipAddressOverride: - Really fix the NPE on startup bug. - Include override dns addresses in noderefs even if we haven't resolved them. Appears to fix a problem with override address not appearing in noderefs. Web interface: - Change the skip-the-wizard text to make it more obvious that it's a bad idea. - Improve some strings for some forms and page headings. - Improve descriptions for some options. - Improve the upload a file form to make it more obvious that uploading through the browser or browsing files on disk are alternatives. - Rename networkSizeEstimate to darknetSizeEstimate, since only darknet nodes swap now. - Update bookmark editions. - Remove development flogs from bookmarks. Bug #2582 : lots of CHK offer replies not going away, causing collapse in bandwidth usage - Fix various places where we might not have unlocked a UID for an offer reply. - Hopefully this will fix this serious and fairly widely reported bug. L10n: - English: Fix typo, update documentation for some store options, minor changes (promiscuous mode -> insecure mode), , improve the strings for some forms (add a friend, insert a file), improve title string at top of download page, remove OpennetUserAlert.*, remove a reference to insecure mode. - Italian: Updated translation from Luke771, - Finnish: Updated translation from Smar. - Chinese: Updated translation from yongjhen. Low level: sending and throttling packets: - Largish refactoring, some optimisations. Get rid of alreadyReportedBytes, don't use DoubleTokenBucket, move message queue to PeerMessageQueue. The below may cost some CPU. - Some counting accuracy fixes when determining whether to send a packet. - Round-robin between peers: send *one* packet to a given peer, then move on to the next. If there are more packets to send, immediately loop around again. This will prevent the node from using all its bandwidth/time/etc to send packets to a single node with a big backlog, especially if sending packets is taking a long time. - Resolve MessageItem's on creation, as doing it lazily doesn't save any memory in practice and complicates the code. - Implement hard bandwidth limiting of all packets at the PacketSender level. - Bucket size for bandwidth limiter is 500ms at full speed (as it was) or 2KB, whichever is larger. - Within a priority, round-robin between different message groups (a group is a bunch of messages with the same ID). We more or less did this before with the old throttling system; this restores it in a different implementation. Salted hash datastore: - Make the store type option be always written to disk, regardless of whether it is the default or not. So changing the default will not cause costly migrations. - Eliminate lock contention: no need to add the key to the primary filter when rebuilding the bloom filter. Don't sleep when rebuilding bloom filter, apparently not necessary now. Do need to lock the forked filter when merging however. - Format change: one .hd file for both headers and data. There is auto-migration, one store at a time (there are 6), but it will take some disk space. Sorry, this shouldn't happen in future; it's a fairly big gain, reducing the number of seeks from 3 to 2. - Preallocate data (fill with random bytes) by default to ensure predictable disk usage, and avoid long unkillable disk-thrashing CPU-thrashing (if encrypted) syscalls. Off on non-mac unixes if physical security is LOW. This happens on initial creation (1G so won't take long), on-line after changing size in config, or offline on restart if changing size didn't complete. - Timeout locks after 20 seconds, and poll for shutdown every 2 seconds, to avoid causing unclean shutdowns. Plugins: - Fix removing plugins from cache for unofficial plugins. - Fix loading unofficial plugins on node restart. Opennet: - Let the user change connectToSeednodes by restarting the node. Internal: (fix possible bugs, but not immediately obvious where they would be): - Synchronization in SortedLongSet. Misc: - Feed blocks to the client layer even if we can't store them (e.g. because the datastore is being resized). Dev stuff: - Logging. - Comments. - Delete dead code. - Use an enum for the store contents type (CHK/PUBKEY/SSK). - More minor refactoring. - Generics, ArrayList, imports, autoboxing, more specific return/variable types, for(:) loops. Unit tests: - Complete the test case for UpdatableSortedLinkedList. Installer: - Browse Freenet script was broken, opening a firefox window pointing to the current directory instead of the node. Fixed. - Make the auto-start setting a top-level option, and strengthen the wording about it. UPnP: - Set thread names. Website: - Fix link to offline installer. - Get rid of reddit/digg links on the 0.7.0 announcement. - Mention seclevel normal/low on the
