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

Inconsistent worker / idleWorker in OrderedThreadPoolExecutor

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 2.0.23, 2.2.0, 2.1.6
    • None
    • None

    Description

      I stumbled upon this while performing analysis of heap dumps of a JVMs that suffered from an issue where no user was able to establish a connection to our server software anymore.
       
      Our application uses an ExecutorFilter. The OrderedThreadPoolExecutor of the affected server seems to be in an inconsistent state:

      • idleWorkers: 2
      • waitingSessions.count: 2293
      • workers.map.size: 0

      What strikes me as odd is:

      • No workers, while there are sessions waiting to be processed
      • No workers, but a non-zero idle workers count

      Servers that are unaffected by the issue have an idle worker count that is equal to the amount of workers (I assume that the snapshots were taken when that server was not actively processing data).

      We are using Apache MINA 2.1.3. I have no indication that this problem is or is not present in other versions.

      This issue has also been discussed on the Apache MINA users mailinglist, starting with this message: https://www.mail-archive.com/users@mina.apache.org/msg06887.html

      Attachments

        1. DIRMINA1156Test.java
          24 kB
          Guus der Kinderen
        2. PriorityThreadPoolExecutorTest.java
          19 kB
          Guus der Kinderen
        3. OrderedThreadPoolExecutorTest.java
          8 kB
          Guus der Kinderen
        4. UnorderedThreadPoolExecutorTest.java
          9 kB
          Guus der Kinderen

        Activity

          People

            Unassigned Unassigned
            guus.der.kinderen Guus der Kinderen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: