Uploaded image for project: 'MINA'
  1. MINA
  2. DIRMINA-549

Inconsistency in managed session set under heavy load

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.0.9, 1.1.6
    • 1.0.10, 1.1.7
    • Core
    • None

    Description

      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.

      Attachments

        Activity

          People

            trustin Trustin Lee
            trustin Trustin Lee
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: