Skip to main content

Can someone explain this WARNING: Queue full, dropped one or more elements?

2 replies [Last post]
ariel_ro
Offline
Joined: 2009-12-28
Points: 0

I run a multicast client that sends messages across LAN using JxtaMulticastSocket and Datagrams.

When I let the system run for a longer time I get this:

Apr 27, 2010 5:13:32 PM net.jxta.impl.util.UnbiasedQueue push3
WARNING: Queue full, dropped one or more elements. Now dropped 103 elements.

I've taken a peak into the UnbiasedQueue and, from what I understand, it just dropes some datagrams that I send on the client in order to make more room in the queue for new ones.

The application seems to work, but I would like to know how I could avoid this warning.
In the case it's not possible to avoid it, does it pose a threat to an application? (when staying alive for longer perioads of time)

Thank you

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
adamman71
Offline
Joined: 2007-01-31
Points: 0

Hi, I can't find UnbiasedQueue in the latest code base. Are you using 2.6?

When you say, avoiding warning:

a) Do you mean not having it in the log? Then I believe you can configure the correspondong LOG object for severe messages only.

b) Do you mean controlling throttling? Then this is a little bit harder to tackle, because it can depend on many factors. The situation is no more threatening than a tcp packet lost in the network. The questions is whether you have an application level check for these.

ariel_ro
Offline
Joined: 2009-12-28
Points: 0

I'm using JXSE 2.5

By avoiding it I mean writing the mulicast client in such a way that JXTA won't "shout" at me with this warning.

Of course, that would imply not having it in the log but this is a mere consequence.

I'm troubled by it because I don't know exactly what it means. You say it is like losing a tcp packet in the network but I see that datagrams continue to arrive at the server side of the multicast.

What do you mean by application level check?
Am I doing something that could threaten the transfer of datagrams in a way?