Commit bb38375
Output descriptive error if AMQP message has no body
According to the AMQP spec, a message must have a body.
amqpnetlite and Azure Service Bus support non-compliant AMQP where a
message might have no body. RabbitMQ implements the AMQP spec correctly
requiring a message body. This commit provides a nice error description
if a client wrongly sends a message without a body.
Prior to this commit, the session got terminated with the following
non-descriptive error:
```
[{mc_amqp,msg_body_encoded,
[[],0,
{msg_body_encoded,undefined,[],
{'v1_0.properties',undefined,undefined,undefined,undefined,
undefined,undefined,undefined,undefined,undefined,undefined,
undefined,undefined,undefined},
[],
<<0,83,115,69>>,
[],uninit,uninit}],
[{file,"mc_amqp.erl"},{line,612}]},
{mc_amqp,init,1,[{file,"mc_amqp.erl"},{line,145}]},
{mc,init,4,[{file,"mc.erl"},{line,157}]},
{rabbit_amqp_session,incoming_link_transfer,4,
[{file,"rabbit_amqp_session.erl"},{line,2409}]},
{rabbit_amqp_session,handle_frame,2,
[{file,"rabbit_amqp_session.erl"},{line,983}]},
{rabbit_amqp_session,handle_cast,2,
[{file,"rabbit_amqp_session.erl"},{line,558}]},
{gen_server,try_handle_cast,3,[{file,"gen_server.erl"},{line,2460}]},
{gen_server,handle_msg,3,[{file,"gen_server.erl"},{line,2418}]}]
```
(Note that transfer frames without payload are allowed though.)
(cherry picked from commit 8d7d291)1 parent a6567fb commit bb38375
File tree
6 files changed
+52
-5
lines changed- deps
- amqp10_common/src
- rabbit
- src
- test
- amqp_dotnet_SUITE_data/fsharp-tests
- release-notes
6 files changed
+52
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
| 194 | + | |
| 195 | + | |
195 | 196 | | |
196 | 197 | | |
197 | 198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
636 | 636 | | |
637 | 637 | | |
638 | 638 | | |
639 | | - | |
| 639 | + | |
640 | 640 | | |
641 | 641 | | |
642 | 642 | | |
| |||
648 | 648 | | |
649 | 649 | | |
650 | 650 | | |
651 | | - | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
652 | 654 | | |
653 | 655 | | |
654 | 656 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2524 | 2524 | | |
2525 | 2525 | | |
2526 | 2526 | | |
2527 | | - | |
| 2527 | + | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
2528 | 2532 | | |
2529 | 2533 | | |
2530 | 2534 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
| 46 | + | |
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| |||
215 | 216 | | |
216 | 217 | | |
217 | 218 | | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
218 | 222 | | |
219 | 223 | | |
220 | 224 | | |
| |||
Lines changed: 34 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
574 | 574 | | |
575 | 575 | | |
576 | 576 | | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
577 | 608 | | |
578 | 609 | | |
579 | 610 | | |
| |||
645 | 676 | | |
646 | 677 | | |
647 | 678 | | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
648 | 682 | | |
649 | 683 | | |
650 | 684 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| 139 | + | |
| 140 | + | |
139 | 141 | | |
140 | 142 | | |
141 | 143 | | |
| |||
0 commit comments