Author: toad
Date: 2008-04-25 23:18:06 +0000 (Fri, 25 Apr 2008)
New Revision: 19566

Modified:
   trunk/freenet/src/freenet/node/Version.java
Log:
1144: (mandatory Monday)
Pre-emptive request rejection/load limiting:
- In RequestHandler.sendSSK(), send the throttled packet synchronously, so that 
we get the sentBytes() callback before reporting the total bytes sent for the 
request. The estimated sent bytes for an SSK request were much lower than they 
should be because of this bug, so we were accepting more SSKs than we should.
- CHK/SSK balancing code wasn't working for remote requests. We lock the UID 
before calling shouldRejectRequest(), and it calculates the number of running 
requests of each type from the number of UIDs locked... so the mechanism (only 
accept if we have enough spare bandwidth to accept one request of each type) 
was broken, and we were accepting far more SSK requests than we should, and far 
fewer CHKs.
- Both changes together, we should accept a lot more CHKs, especially on low 
bandwidth nodes. My 8K/sec test node has gone from 10% payload to 30%, and 7:1 
to 3:1 SSK:CHK ratio. Should also see fewer "Insufficient output bandwidth"'s 
on severely bandwidth constrained nodes.
Datastore access on the UdpSocketHandler thread:
- FailureTable was doing datastore access on the UdpSocketHandler thread. 
Nowhere else does this, and it can cause long delays, transfer timeouts etc 
when there is heavy disk load. Use a SerialExecutor to run onOffer() and 
sendOfferedKey().
Web interface:
- Only take into account valid useralerts when calculating the alert level (CSS 
type, i.e. color) of the summary box. Fix CSS.
- Upload form on the queue page: clearer, explain a bit, differentiate between 
the two browse buttons. Don't show the second if we don't have full access. Two 
lines, not one which went off the end of the screen.
- Update bookmarks.
Resource usage:
- Limit parallel decodes to 3, so that we stay below the 1024 file descriptor 
limit (~140 average plus 256 for each full segment decode/encode), which is 
typical on most unixes, per-user so really we should reduce usage beyond this, 
but that will require more work.
Trivial optimisations:
- Create StatsConfig when needed, rather than having it as a field on Node.
Dev stuff:
- Logging.

Installer:
- Up version to 0.7-RC2.

JSTUN:
- Logging.

j16sdiz
nextgens
toad

Thingamablog: (dieppe)
Fix potential "There is no @ in that URI!"
Add a value for a mnemonic key in L10n english and french files

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2008-04-25 23:04:42 UTC (rev 
19565)
+++ trunk/freenet/src/freenet/node/Version.java 2008-04-25 23:18:06 UTC (rev 
19566)
@@ -24,17 +24,17 @@
        public static final String protocolVersion = "1.0";

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

        /** Oldest build of Fred we will talk to */
-       private static final int oldLastGoodBuild = 1140;
-       private static final int newLastGoodBuild = 1143;
+       private static final int oldLastGoodBuild = 1143;
+       private static final int newLastGoodBuild = 1144;
        static final long transitionTime;

        static {
                final Calendar _cal = 
Calendar.getInstance(TimeZone.getTimeZone("GMT"));
                // year, month - 1 (or constant), day, hour, minute, second
-               _cal.set( 2008, Calendar.APRIL, 25, 0, 0, 0 );
+               _cal.set( 2008, Calendar.APRIL, 28, 0, 0, 0 );
                transitionTime = _cal.getTimeInMillis();
        }



Reply via email to