Skip to content

Bug while connection close gives an exception #43

Description

@jayantjain93

While doing a connection close, there is an Channel Inactive which is un-caught. Hence, the connection is not removed.
So I'm left with a stale connection, and not able to reconnect due to an existing entry to that address.

Logs:
16:14:47.245 INFO Remove connection server:4150 - NSQConsumer.connect
16:14:47.245 INFO Closing connection: com.github.brainlag.nsq.Connection@188fe003 - Connection.close
16:14:47.246 INFO Channel disconnected! com.github.brainlag.nsq.Connection@188fe003 - NSQHandler.channelInactive

Fix could be to put in try catch

 for (final ServerAddress server : Sets.difference(oldAddresses, newAddresses)) {
LogManager.getLogger(this).info("Remove connection " + server.toString()); try {
connections.get(server).close();
} catch (Exception e) {
LogManager.getLogger(this).error("Close connection failed: " + e.getMessage(), e);
} finally {
connections.remove(server);
}
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions