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.1.6, 1.0.9
            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