Bug 507318 - Deadlock using durable ring queue
Summary: Deadlock using durable ring queue
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 1.1
Hardware: All
OS: Linux
high
high
Target Milestone: 1.1.6
: ---
Assignee: Gordon Sim
QA Contact: Frantisek Reznicek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-06-22 10:54 UTC by Gordon Sim
Modified: 2015-11-16 00:07 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-07-14 17:32:16 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Fix (5.14 KB, patch)
2009-06-22 15:25 UTC, Gordon Sim
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2009:1153 0 normal SHIPPED_LIVE Red Hat Enterprise MRG Messaging bug fixing update 2009-07-14 17:31:48 UTC

Description Gordon Sim 2009-06-22 10:54:07 UTC
Description of problem:

If a durable queue is set to use a ring policy, and if concurrent publication causes persistent messages to be evicted from the queue, a deadlock is possible.

Version-Release number of selected component (if applicable):

Since 1.1

How reproducible:

Easily

Steps to Reproduce:
1. start broker with store loaded
2. create durable queue with ring policy and particular limit
   (e.g. qpid-config add queue test-queue --durable --limit-policy ring
         --max-queue-count 5)
3. start two or more publishers sending durable messages to that queue
   (e.g. 2x while sender --durable true < messages.in; do true; done)
   
Actual results:

broker eventually hangs

Expected results:

should continue indefinitly with no hangs

Comment 1 Gordon Sim 2009-06-22 15:25:32 UTC
Created attachment 348929 [details]
Fix

Comment 2 Gordon Sim 2009-06-23 09:09:08 UTC
Fixed in qpidd-0.5.752581-20.

Comment 3 Frantisek Reznicek 2009-07-03 09:49:37 UTC
The issue has been fixed, validated on RHEL 4.7 / 5.3,  i386 / x86_64 on
packages:
[root@mrg-qe-02 bz509096]# rpm -qa | grep -E '(qpid|openais|rhm)' | sort -u
openais-0.80.3-22.el5_3.8
openais-debuginfo-0.80.3-22.el5_3.8
python-qpid-0.5.752581-3.el5
qpidc-0.5.752581-22.el5
qpidc-debuginfo-0.5.752581-22.el5
qpidc-devel-0.5.752581-22.el5
qpidc-rdma-0.5.752581-22.el5
qpidc-ssl-0.5.752581-22.el5
qpidd-0.5.752581-22.el5
qpidd-acl-0.5.752581-22.el5
qpidd-cluster-0.5.752581-22.el5
qpidd-devel-0.5.752581-22.el5
qpid-dotnet-0.4.738274-2.el5
qpidd-rdma-0.5.752581-22.el5
qpidd-ssl-0.5.752581-22.el5
qpidd-xml-0.5.752581-22.el5
qpid-java-client-0.5.751061-7.el5
qpid-java-common-0.5.751061-7.el5
rhm-0.5.3206-5.el5
rhm-docs-0.5.756148-1.el5

->VERIFIED

Comment 5 errata-xmlrpc 2009-07-14 17:32:16 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2009-1153.html


Note You need to log in before you can comment on or make changes to this bug.