BasicConnectionTable contains this code:
private void _send(byte[] data, int offset, int length) {
synchronized(send_mutex) {
try
catch(IOException io_ex) {
if(log.isWarnEnabled())
log.warn("peer closed connection, trying to re-send msg");
try
catch(IOException io_ex2)
{ if(log.isErrorEnabled()) log.error("2nd attempt to send data failed too"); }catch(Exception ex2)
{ if(log.isErrorEnabled()) log.error("exception is " + ex2); } }
catch(InterruptedException iex) {}
catch(Throwable ex)
}
}
io_ex and io_ex2 should be logged, otherwise you get these messages without any reason why it failed:
2007-04-15 01:04:43,425 WARN [org.jgroups.blocks.ConnectionTable] sender thread was interrupted, but is still alive: Thread[ConnectionTable.Connection.Sender [143.61.17.44:55413 - 209.82.241.31:7100],5,ConnectionTableGroup]
2007-04-15 01:04:43,425 WARN [org.jgroups.blocks.ConnectionTable] peer closed connection, trying to re-send msg
2007-04-15 01:04:43,426 ERROR [org.jgroups.blocks.ConnectionTable] 2nd attempt to send data failed too