[jgroups-dev] org.jgroups.protocols.UDP - failed sending message to null
Adrian Tarau <[email protected]> Thu, 16 Dec 2010 09:58:08 -0500
| Newsgroups | gmane.comp.java.javagroups.devel |
|---|---|
| Message-ID | <[email protected]> |
Per Bela's recommendation we will continue to discuss an
issue(https://issues.jboss.org/browse/JGRP-1263) and try to find the
what could cause this failure.
I get occasionally failures(and when it happens the logs are full of
these messages) like this "org.jgroups.protocols.UDP - failed sending
message to null" and since the stack trace is not dumped when logging is
performed there is not indication where the failure happens.
Looking in the source code the failure is caused by a call to "send" in
TP.class. We already know dest = null since it is printed in the message
but other than that I do not know what else to provide to trouble shoot
this issue.
/try {
send(msg, dest, multicast);
}
catch(InterruptedIOException iex) {
;
}
catch(InterruptedException interruptedEx) {
Thread.currentThread().interrupt(); // let someone else
handle the interrupt
}
catch(Throwable e) {
if(log.isErrorEnabled()) {
log.error("failed sending message to " + dest + " (" +
msg.size() + " bytes): " + e);
}
}/
I understood from Bela that the failure was logged before with the stack
trace but it was changed because the output was too verbose. I agree
sometime(when you know exactly when/why you block code might fail) it
doesn't worth poluting the log files with information but catching
Throwable and hiding the stack trace for any exception is a little bit
to...aggressive and I'm saying this with all respect to the developers
who worked on JGroups.
The exception is actually this "ERROR org.jgroups.protocols.UDP - failed
sending message to null (100 bytes): java.lang.Exception:
dest=/228.110.10.10:46553 (103 bytes)". Today I was lucky to catch these
failures under the development environment and here it is the thread
stack trace:
/Timer-1,default,barabula-15963@4918 daemon, prio=5, in group 'JGroups',
status: 'RUNNING'
at org.jgroups.protocols.TP.down(TP.java:951)
at org.jgroups.protocols.PING.sendMcastDiscoveryRequest(PING.java:72)
at org.jgroups.protocols.PING.sendGetMembersRequest(PING.java:55)
at
org.jgroups.protocols.Discovery$PingSenderTask$1.run(Discovery.java:492)
at
org.jgroups.util.TimeScheduler$RobustRunnable.run(TimeScheduler.java:194)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
/
Anybody know why I get these failures? I got these failure with the
standard UDP.xml configuration and also with my configuration
Thanks.
PS. My UDP configuration
/<!--
Default stack using IP multicasting. It is similar to the "udp"
stack in stacks.xml, but doesn't use streaming state transfer and
flushing
author: Bela Ban
version: $Id: udp.xml,v 1.40 2010/02/08 07:11:15 belaban Exp $
-->
<config xmlns="urn:org:jgroups"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:org:jgroups
http://www.jgroups.org/schema/JGroups-2.8.xsd">
<UDP
mcast_addr="${jgroups.udp.mcast_addr:228.8.8.8}"
mcast_port="${jgroups.udp.mcast_port:45553}"
tos="8"
ucast_recv_buf_size="20M"
ucast_send_buf_size="640K"
mcast_recv_buf_size="25M"
mcast_send_buf_size="640K"
loopback="true"
discard_incompatible_packets="true"
max_bundle_size="64K"
max_bundle_timeout="30"
ip_ttl="${jgroups.udp.ip_ttl:2}"
enable_bundling="false"
enable_diagnostics="true"
thread_naming_pattern="cl"
timer.num_threads="2"
thread_pool.enabled="true"
thread_pool.min_threads="1"
thread_pool.max_threads="2"
thread_pool.keep_alive_time="5000"
thread_pool.queue_enabled="true"
thread_pool.queue_max_size="10000"
thread_pool.rejection_policy="discard"
oob_thread_pool.enabled="false"
oob_thread_pool.min_threads="1"
oob_thread_pool.max_threads="2"
oob_thread_pool.keep_alive_time="5000"
oob_thread_pool.queue_enabled="true"
oob_thread_pool.queue_max_size="100"
oob_thread_pool.rejection_policy="Run"/>
<PING timeout="2000"
num_initial_members="3"/>
<MERGE2 max_interval="30000"
min_interval="10000"/>
<FD_SOCK/>
<FD_ALL timeout="16000" interval="5000" msg_counts_as_heartbeat="true"/>
<VERIFY_SUSPECT timeout="1500" />
<BARRIER />
<pbcast.NAKACK use_stats_for_retransmission="false"
exponential_backoff="0"
log_discard_msgs="true"
log_not_found_msgs="false"
use_mcast_xmit="false" gc_lag="0"
retransmit_timeout="300,600,1200"
discard_delivered_msgs="true"/>
<UNICAST timeout="300,600,1200"/>
<pbcast.STABLE stability_delay="1000" desired_avg_gossip="50000"
max_bytes="1M"/>
<pbcast.GMS print_local_addr="true" join_timeout="3000"
print_physical_addrs="true"
view_bundling="true"/>
<FC max_credits="500K"
min_threshold="0.20"/>
<FRAG2 frag_size="60K" />
<!--pbcast.STREAMING_STATE_TRANSFER /-->
<pbcast.STATE_TRANSFER />
<!-- pbcast.FLUSH /-->
</config>
/
------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Javagroups-development mailing list