Bug 448102 - c++ broker sync() implementation incorrect with async store.
c++ broker sync() implementation incorrect with async store.
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
All Linux
urgent Severity urgent
: ---
: ---
Assigned To: Gordon Sim
Kim van der Riet
Depends On:
  Show dependency treegraph
Reported: 2008-05-23 10:07 EDT by Alan Conway
Modified: 2009-05-07 16:09 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2008-05-28 12:04:29 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 Alan Conway 2008-05-23 10:07:37 EDT
Description of problem:

On receiving a sync() command, the broker responds immediately. It does not wait
for async message enqueues to complete. This could give incorrect sync results
when used with the async store, causing hard-to-find intermittent bugs.

Summary of code changes:

 - Generalize IncompleteMessageList on SessionState to an incomplete command
list that can include both message enqueus and syncs.

 - Update subsequent pending syncs during message completion.

 - Send sync when all preceding async messages have completed.
Comment 1 Gordon Sim 2008-05-28 12:04:29 EDT
Current code actually already does what is required; on receiving a sync() the
broker will indeed wait until all outstanding enqueues are complete before

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