On Thursday 13 November 2008 16:02, Daniel Cheng wrote:
> On Thu, Nov 13, 2008 at 10:17 PM, <toad at freenetproject.org> wrote:
> > Author: toad
> > Date: 2008-11-13 14:17:32 +0000 (Thu, 13 Nov 2008)
> > New Revision: 23519
> >
> > Modified:
> > trunk/freenet/src/freenet/node/FNPPacketMangler.java
> > trunk/freenet/src/freenet/node/KeyTracker.java
> > Log:
> > Solve the logging part of the problem:
> > Log only at minor when a message is not acked, but after 10 minutes,
forceDisconnect().
> >
> >
> > Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
> > ===================================================================
> > --- trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-11-12
17:29:40 UTC (rev 23518)
> > +++ trunk/freenet/src/freenet/node/FNPPacketMangler.java 2008-11-13
14:17:32 UTC (rev 23519)
> > @@ -2341,6 +2341,7 @@
> >
> > int otherSideSeqNumber;
> >
> > + try {
> > synchronized(tracker) {
> > acks = tracker.grabAcks();
> > forgotPackets = tracker.grabForgotten();
> > @@ -2350,6 +2351,11 @@
> > otherSideSeqNumber =
tracker.highestReceivedIncomingSeqNumber();
> > if(logMINOR) Logger.minor(this, "Sending packet
to "+tracker.pn.getPeer()+", other side max seqno: "+otherSideSeqNumber);
> > }
> > + } catch (StillNotAckedException e) {
> > + Logger.error(this, "Forcing disconnect
on "+tracker.pn+" for "+tracker+" because packets not acked after 10
minutes!");
> > + tracker.pn.forceDisconnect(true);
> > + throw new NotConnectedException();
> > + }
> >
> > int packetLength = 4 + // seq number
> > RANDOM_BYTES_LENGTH + // random junk
> >
> > Modified: trunk/freenet/src/freenet/node/KeyTracker.java
> > ===================================================================
> > --- trunk/freenet/src/freenet/node/KeyTracker.java 2008-11-12
17:29:40 UTC (rev 23518)
> > +++ trunk/freenet/src/freenet/node/KeyTracker.java 2008-11-13
14:17:32 UTC (rev 23519)
> > @@ -831,7 +831,7 @@
> > return trimmedPacketNumbers;
> > }
> >
> > - public int[] grabAckRequests() throws NotConnectedException {
> > + public int[] grabAckRequests() throws NotConnectedException,
StillNotAckedException {
> > UpdatableSortedLinkedListItem[] items;
> > int[] packetNumbers;
> > int realLength;
> > @@ -854,8 +854,13 @@
> >
ackRequestQueue.remove(qr);
> > continue;
> > }
> > - if(now - qr.createdTime >
2 * 60 * 1000)
> > -
Logger.error(this, "Packet " + qr.packetNumber + " sent over " + (now -
qr.createdTime) + "ms ago and still not acked on " + this + " for " + pn);
> > + if(now - qr.createdTime >
2 * 60 * 1000 && logMINOR) {
>
> [...]
> > + throw new
StillNotAckedException();
>
> 1) behaviour change is bad
Why is the behaviour change bad?
>
> 2) throw the exception *ONLY* if logMINOR is set, which is even worse.
Fixed in trunk (doh).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
URL:
<https://emu.freenetproject.org/pipermail/devl/attachments/20081113/1d74c212/attachment.pgp>