[
https://issues.apache.org/jira/browse/SSHD-854?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16664824#comment-16664824
]
Emmanuel Lecharny commented on SSHD-854:
----------------------------------------
Clearly, the {{sessionClosed()}} method from the
{{CachingPublicKeyAuthenticator}} class is not being called, otherwise the
session would have been removed from the cache :
{code:java}
@Override
public void sessionClosed(Session session) {
Map<PublicKey, Boolean> map = cache.remove(session);
<----------------------------------Here
if (map == null) {
if (log.isDebugEnabled()) {
log.debug("sessionClosed({}) not cached", session);
}
} else {
if (log.isDebugEnabled()) {
log.debug("sessionClosed({}) removed from cache", session);
}
}
session.removeSessionListener(this);
}
{code}
Guillaume, Lyor, a hint ?
> Massive object graph in NioSocketSession
> ----------------------------------------
>
> Key: SSHD-854
> URL: https://issues.apache.org/jira/browse/SSHD-854
> Project: MINA SSHD
> Issue Type: Bug
> Reporter: jpalacios
> Priority: Major
>
> I'm looking at a heap dump from one of our customers where the retained heap
> size for some {{NioSocketSession}} instances is almost 1GB.
> From the looks of the dump MINA has created a massive object graph where:
> {code}
> NioSocketSession -> SelectionKeyImpl -> EpollSelectorImpl -> HashMap ->
> SelectionKeyImpl -> NioSocketSession -> ...
> {code}
> From the looks of the obeject IDs these are not loops
> Each individual object is not large by itself but at the top of the graph the
> accumulated retained size is enough to produce an OOME
> Could you help me understand how MINA can produce such a massive object
> graph? Should MINA apply any defense mechanism to prevent this??
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)