MutexTransport creates bottleneck for multi-threaded applications
-----------------------------------------------------------------

                 Key: AMQNET-330
                 URL: https://issues.apache.org/jira/browse/AMQNET-330
             Project: ActiveMQ .Net
          Issue Type: Bug
          Components: ActiveMQ, Stomp
    Affects Versions: 1.5.1
         Environment: Windows 7 64-bit, .NET 3.5 & 4.0.
            Reporter: Jim Gomes
            Assignee: Jim Gomes
             Fix For: 1.5.2, 1.6.0


The MutexTransport creates a massive bottleneck in a multi-threaded application 
that uses timeouts for sending messages.  This scenario makes the assumption 
that the failover protocol is being used to automatically reconnect to a broker 
that goes offline.  If multiple threads are sending messages that have a send 
timeout and the broker is currently offline, then those calls get queued up in 
serial instead of executing in parallel.  For example, if the send timeout is 
set to 10 seconds and 50  threads are simultaneously sending a message, it will 
take 500 seconds for all fifty threads to finally error out.  The programmer of 
the code would expect the timeout to be 10 seconds maximum in order to have 
acceptable application performance.

The MutexTransport needs to honor and use the timeout value of the transport 
that it is protecting and allow parallel waits.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to