diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_dead_letter.erl | 11 |
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 -> |
