[ 
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.

Reply via email to