[
https://issues.apache.org/jira/browse/DIRMINA-443?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530720
]
Trustin Lee commented on DIRMINA-443:
-------------------------------------
According to the applied patch:
for (; ;) {
try {
int nKeys = selector.select(1000);
if (closeFlag){
synchronized (lock) {
worker = null;
break;
}
}
it just breaks out of the loop, so any connection attempts in progress will not
complete at all, possibly leading to FD leak. Anyways, it seems like setting
the timeout value to 0 do what you want. What do you think about just adding
more explanation of the behavior when timeout is 0, instead of adding a new
method? :)
Moreover, We are going to implement a global pool of I/O threads so you won't
even need to worry about such kind of leak in 2.0.
> SocketConnection cannot be manually closed (for v2.X)
> -----------------------------------------------------
>
> Key: DIRMINA-443
> URL: https://issues.apache.org/jira/browse/DIRMINA-443
> Project: MINA
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.0-M1
> Reporter: Jeff Genender
> Assignee: Maarten Bosteels
> Fix For: 2.0.0-M1
>
> Attachments: DIRMINA-443-jgenender.patch
>
>
> The SocketConnection cannot be closed. Currently it will wait a certain
> amount of timeout as specified by the worker timeout to shut down the
> connection. This can result in OOM and hanging clients until the timeouts
> occur. Mina should allow the SocketConnection to be closed manually if the
> connection is known to be completed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.