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>

Reply via email to