diff --git a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java index b5100bb8fd42bdc52c1d801bfe13c669014ed907..98dcba0d9dc46505ee553b787fba46096aa0b4ae 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java +++ b/router/java/src/net/i2p/router/transport/ntcp/EventPumper.java @@ -422,15 +422,19 @@ public class EventPumper implements Runnable { _context.statManager().addRateData("ntcp.connectSuccessful", 1, 0); } else { con.close(); + _transport.markUnreachable(con.getRemotePeer().calculateHash()); _context.statManager().addRateData("ntcp.connectFailedTimeout", 1, 0); } - } catch (IOException ioe) { - if (_log.shouldLog(Log.DEBUG)) _log.debug("Error processing connection", ioe); + } catch (IOException ioe) { // this is the usual failure path for a timeout or connect refused + if (_log.shouldLog(Log.WARN)) + _log.warn("Failed outbound connection to " + con.getRemotePeer().calculateHash(), ioe); con.close(); + //_context.shitlist().shitlistRouter(con.getRemotePeer().calculateHash(), "Error connecting", NTCPTransport.STYLE); + _transport.markUnreachable(con.getRemotePeer().calculateHash()); _context.statManager().addRateData("ntcp.connectFailedTimeoutIOE", 1, 0); } catch (NoConnectionPendingException ncpe) { - // ignore - } + // ignore + } } private void processRead(SelectionKey key) {