Bug #49048
amqp mandatory bit should be set according to ack-level
Status:
New
Priority:
Low
Assignee:
-
Target version:
-
% Done:
0%
Source:
Development
Tags:
amqp
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):
Description
if ack-level=routeable, the mandatory bit [1] should be set to "1"
[1] https://github.com/ceph/ceph/blob/master/src/rgw/rgw_amqp.cc#L574
History
#1 Updated by Norman Jordan over 2 years ago
Yuval Lifshitz wrote:
if ack-level=routeable, the mandatory bit [1] should be set to "1"
[1] https://github.com/ceph/ceph/blob/master/src/rgw/rgw_amqp.cc#L574
There is a comment here saying that the message does not need to be routable. I can't tell if a routing failure should be detected.
Setting the mandatory bit to 1, will not change the return value for ampq_basic_publish().
To actually detect a routing failure, you need to do the following:- Before publishing, set the channel to confirm select (amqp_confirm_select())
- Publish the message with the mandatory bit set to 1
- Wait for a frame (amqp_simple_wait_frame())
- Examine the method in the frame
Should a routing error be detected?