Mule
  1. Mule
  2. MULE-5341

VM connector thread exhaustion leads to application hang with no reason logged

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Critical Critical
    • Resolution: Unresolved
    • Affects Version/s: 3.0.0, 3.1.0
    • Fix Version/s: None
    • Component/s: Transport: VM
    • Labels:
      None
    • Environment:

      java 1.6.0_22, Linux

    • User impact:
      High
    • Log Output:
      None
    • Similar Issues:
      MULE-816SystemStreamConnector hangs when disposing
      MULE-6781WMQ and Mule 2.2 - thread blocking
      MULE-3418VM Connector cannot be configured to use a single thread on a singleton component
      MULE-6136Intermittent Hanging and logs size goes into GB
      MULE-2905VM hangs on with transaction
      MULE-8146Grizzly thread leaks
      MULE-3992JettyContinuationsTwoEndpointsSinglePortTestCase hangs
      MULE-112Tcp connector not closing all threads when disposing
      MULE-7693spring @Transactional leads to a ClassNotFoundException
      MULE-7848VM fails in getSize() when log level = DEBUG

      Description

      Once an application exceeds a number of vm endpoints it stops mid-flow for no obvious reason.

      This seems to be due to thread exhaustion on the vm connector, as increasing the number of threads eliminates the problem, e.g.:

       <vm:connector name="vm.connector">
              <receiver-threading-profile maxBufferSize="100" maxThreadsActive="1000" maxThreadsIdle="100" threadWaitTimeout="2000" poolExhaustedAction="WAIT" />
              <dispatcher-threading-profile maxBufferSize="100" maxThreadsActive="1000" maxThreadsIdle="100" poolExhaustedAction="WAIT" />
         </vm:connector>
      
      

      The issue is that Mule gives no indication of what's wrong, which is potentially very confusing for inexperienced developers.

      It seems reasonable to have the VM Connector default to as many threads as necessary for the endpoints defined in the application. Failing that, something should be logged to help the user (e.g. thread exhaustion).

      See attached application, and http://forums.mulesoft.org/thread.jspa?threadID=4539

        Activity

        Hide
        Cliff Redmond added a comment -

        As referenced in problem description

        Show
        Cliff Redmond added a comment - As referenced in problem description

          People

          • Assignee:
            Unassigned
            Reporter:
            Cliff Redmond
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development