Uploaded image for project: 'Mule'
  1. Mule
  2. MULE-5341

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

    Details

    • Type: Bug
    • Status: TO DO
    • Priority: 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:

      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

        Attachments

          Activity

            People

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

              Dates

              • Created:
                Updated: