Matthew Toseland wrote:
> Check the stack trace. WouldBlockException is thrown when a peer is so
> backlogged that we can't allocate a new packet number. So we requeue the
> messages we need to send, since we have pulled them off the queue in
> order to send them, and we can't send them yet.=
>
OK, it seems I did understand what's going on and apparently there's not
bigger cause than the peer is backlogged, so it looks like I didn't miss
anything (which is good).
What do you think of the waiting between queued message send retry
attempts idea?
> On Sun, May 14, 2006 at 01:32:27PM -0500, David Sowder (Zothar) wrote:
>
>> Perhaps we should wait a little bit before trying to resend queued
>> messages? Perhaps the wait time should be proportional to the number of
>> messages queued, up to some threshold (maybe keepalive send frequency)?
>>
>> According to the source:
>>
>> public void requeueMessageItems(MessageItem[] messages, int offset,
>> int length, boolean dontLog) {
>> // Will usually indicate serious problems
>>
>> What could cause this? Failure to get acks from a peer for awhile?
>>
>>
>>
>> May 14, 2006 17:54:59:874 (freenet.support.LimitedRangeIntByteArrayMap,
>> PacketSender thread for 0, NORMAL):
>> freenet.support.LimitedRangeIntByteArrayMap at 1e64cca WOULD BLOCK:
>> lockNeverBlock(47574) - minValue = 47446, maxValue = 47446, maxRange=128
>> May 14, 2006 17:54:59:874 (freenet.node.FNPPacketMangler, PacketSender
>> thread for 0, NORMAL): Caught freenet.support.WouldBlockException while
>> sending messages, requeueing remaining messages
>>
>>