[
https://issues.apache.org/jira/browse/DIRMINA-549?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Trustin Lee resolved DIRMINA-549.
---------------------------------
Resolution: Fixed
Fixed by moving more code blocks under the synchronized (managedSessions) block.
> Inconsistency in managed session set under heavy load
> -----------------------------------------------------
>
> Key: DIRMINA-549
> URL: https://issues.apache.org/jira/browse/DIRMINA-549
> Project: MINA
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.0.9, 1.1.6
> Reporter: Trustin Lee
> Assignee: Trustin Lee
> Priority: Critical
> Fix For: 1.0.10, 1.1.7
>
>
> The detailed analysis can be found at:
> http://mina.markmail.org/search/?q=sessionClosed%20is%20not%20called%20sometimes#query:sessionClosed%20is%20not%20called%20sometimes+page:1+mid:cc5uj66xt5mb5rrs+state:results
> The thing is that IoServiceListenerSupport.fireSessionCreated() and
> fireSessionDestroyed() can be invoked at the same time by more than one I/O
> processor threads, and that can cause sessionClosed event is not fired at all
> under heavy load. The solution is to acquire a per-service lock whenever
> managed session set changes. So far, we were acquiring locks separated as
> two phases, and that was the root cause of the problem. By fixing this
> issue, performance might decrease slightly, but accuracy is the first concern
> for us.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.