Issue Details (XML | Word | Printable)

Key: AMQ-1183
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Hiram Chirino
Reporter: Hiram Chirino
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
ActiveMQ

Deadlocks can occur with even with sync sends since they share a connection.

Created: 11/Jan/07 02:06 PM   Updated: 07/Mar/07 06:53 AM
Return to search
Component/s: Broker
Affects Version/s: None
Fix Version/s: 4.1.1

Time Tracking:
Not Specified


 Description  « Hide
If a producer sends to a queue and blocks, any other producer sharing the same connection even if he would be sending to an empty queue would also block. This in effect can cause a deadlock if the right message processing flow is set up.

 All   Comments   Work Log   Change History   Subversion Commits   FishEye   Crucible      Sort Order: Ascending order - Click to sort in descending order
Hiram Chirino added a comment - 26/Feb/07 11:06 AM
Workaround fix has been implemented in http://svn.apache.org/viewvc?view=rev&revision=511078 in the 4.1 branch.

Basically, if producer uses sync sends, he now can not block another producer on the shared connection. To force all sends to be done sync, a new 'useSyncSend' option has been add to the ActiveMQConnectionFactory.

We should consider implementing a more robust soultion that will work even with async sends in 5.0. This could be done by using producer flow control with acks similar to how we flow control consumers.


Hiram Chirino added a comment - 26/Feb/07 11:15 AM
The following revision was also part of the fix: http://svn.apache.org/viewvc?view=rev&rev=511093

Nathan Mittler added a comment - 27/Feb/07 03:22 AM
Is this an AMQCPP Issue? The comments seem to imply a patch to the broker.

Hiram Chirino added a comment - 07/Mar/07 06:53 AM
fixed.