diff options
| author | Tim Watson <tim@rabbitmq.com> | 2013-06-06 11:38:54 +0100 |
|---|---|---|
| committer | Tim Watson <tim@rabbitmq.com> | 2013-06-06 11:38:54 +0100 |
| commit | 3a3f3e89228d9bdcd5f95fe1e3f07e4541d7f80f (patch) | |
| tree | fcda4d345aab60c9dafa8f5e183b3fec0284c58c | |
| parent | 72097478eb948bec654af86f6b235bdb89a7c47a (diff) | |
| download | rabbitmq-server-git-3a3f3e89228d9bdcd5f95fe1e3f07e4541d7f80f.tar.gz | |
do not attempt to parse expiration from missing properties
| -rw-r--r-- | src/rabbit_amqqueue_process.erl | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index ed15b6f5fd..892c2a7765 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -901,13 +901,8 @@ make_dead_letter_msg(Msg = #basic_message{content = Content, MaybePerMsgTTL = case Reason of expired -> - OrigProps = Content#content.properties, - case rabbit_basic:parse_expiration(OrigProps) of - {ok, Exp} when is_integer(Exp) -> - [{<<"original-expiration">>, longstr, - integer_to_list(Exp)}]; - _ -> [] - end; + OriginalProps = Content#content.properties, + maybe_create_per_msg_ttl_xdeath_header(OriginalProps); _ -> [] end, HeadersFun2 = @@ -932,6 +927,17 @@ make_dead_letter_msg(Msg = #basic_message{content = Content, routing_keys = DeathRoutingKeys, content = ContentNoExpiration}. +maybe_create_per_msg_ttl_xdeath_header(#'P_basic'{}=Props) -> + case rabbit_basic:parse_expiration(Props) of + {ok, Exp} when is_integer(Exp) -> + [{<<"original-expiration">>, longstr, + integer_to_list(Exp)}]; + _ -> + [] + end; +maybe_create_per_msg_ttl_xdeath_header(_) -> + []. + now_micros() -> timer:now_diff(now(), {0,0,0}). infos(Items, State) -> [{Item, i(Item, State)} || Item <- Items]. |
