summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2016-04-25 17:25:29 +0100
committerDaniil Fedotov <dfedotov@pivotal.io>2016-04-27 12:00:29 +0100
commite6c5dcb1189740b850a3cc32b6233739cce6b05e (patch)
tree0e1e6ce665c490117c1b1e31971e0a4a34617e93 /src
parent473beb92b3bd3b22dd26b565af19a49e1151f3d9 (diff)
downloadrabbitmq-server-git-e6c5dcb1189740b850a3cc32b6233739cce6b05e.tar.gz
Ignore non-array x-dead header
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_dead_letter.erl11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rabbit_dead_letter.erl b/src/rabbit_dead_letter.erl
index 252405d62b..07cb954b20 100644
--- a/src/rabbit_dead_letter.erl
+++ b/src/rabbit_dead_letter.erl
@@ -139,7 +139,16 @@ update_x_death_header(Info, Headers) ->
end,
rabbit_misc:set_table_value(
Headers, <<"x-death">>, array,
- [{table, rabbit_misc:sort_field_table(Info1)} | Others])
+ [{table, rabbit_misc:sort_field_table(Info1)} | Others]);
+ {<<"x-death">>, InvalidType, Header} ->
+ rabbit_log:notice("Invalid x-death header type: ~p."
+ " Ignoring header ~p~n",
+ [InvalidType, Header]),
+ %% If x-death field type is invalid it is ignored
+ %% and new array is created
+ rabbit_misc:set_table_value(
+ Headers, <<"x-death">>, array,
+ [{table, [{<<"count">>, long, 1} | Info]}])
end.
ensure_xdeath_event_count({table, Info}, InitialVal) when InitialVal >= 1 ->