Bug 456560 - Timed SubscriptionManager::get() doesn't work properly
Timed SubscriptionManager::get() doesn't work properly
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
All Linux
urgent Severity medium
: 1.0.1
: ---
Assigned To: Gordon Sim
Kim van der Riet
Depends On:
Blocks: 459257
  Show dependency treegraph
Reported: 2008-07-24 13:25 EDT by Gordon Sim
Modified: 2011-08-12 12:20 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-10-06 15:08:15 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Gordon Sim 2008-07-24 13:25:19 EDT
When invoking SubscriptionManager::get() with a non-zero timeout the expectation
is that if a message is not on the queue at that time the thread will block for
the desired time waiting for one to arrive.

However a flush is issued before the wait starts. This means that if the queue
is empty at that point no message will be sent but the credit will be set to
zero and so when a message does arrive it won't get delivered.
Comment 1 Gordon Sim 2008-07-25 06:26:27 EDT
Fix applied on trunk (r679739) and qpid.0-10(r679748).
Comment 3 Frantisek Reznicek 2008-09-12 08:33:10 EDT
RHTS test (MRG_Messaging/qpid_localqueue_timeout_bz453599) implements SubscriptionManager::get() test with non zero timeout and proves that SubscriptionManager::get() now correctly waits. (ON_QA->VERIFIED)
Comment 5 errata-xmlrpc 2008-10-06 15:08:15 EDT
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.


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