summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2016-04-27 12:19:59 -0500
committerMichael Klishin <mklishin@pivotal.io>2016-04-27 12:19:59 -0500
commit702956f2c69cba624146180f4c715912012392d2 (patch)
tree75bc0cd739735b9b8b53422ef5e307ad8eddddf5
parentcb1fc3b7c588f452b8d52bfbcc2df3d96cd22486 (diff)
downloadrabbitmq-server-git-702956f2c69cba624146180f4c715912012392d2.tar.gz
Wording
-rw-r--r--src/rabbit_dead_letter.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/rabbit_dead_letter.erl b/src/rabbit_dead_letter.erl
index 479c8a316f..8d426f072a 100644
--- a/src/rabbit_dead_letter.erl
+++ b/src/rabbit_dead_letter.erl
@@ -141,11 +141,14 @@ update_x_death_header(Info, Headers) ->
Headers, <<"x-death">>, array,
[{table, rabbit_misc:sort_field_table(Info1)} | Others]);
{<<"x-death">>, InvalidType, Header} ->
- rabbit_log:warning("Death Invalid x-death header type: ~p."
- " Ignoring header ~p~n",
+ rabbit_log:warning("Message has invalid x-death header (type: ~p)."
+ " Resetting header ~p~n",
[InvalidType, Header]),
- %% If x-death field type is invalid it is ignored
- %% and new array is created
+ %% if x-death is something other than an array (list)
+ %% then we reset it: this happens when some clients consume
+ %% a message and re-publish is, converting header values
+ %% to strings, intentionally or not.
+ %% See rabbitmq/rabbitmq-server#767 for details.
rabbit_misc:set_table_value(
Headers, <<"x-death">>, array,
[{table, [{<<"count">>, long, 1} | Info]}])