diff options
author | Matthew Sackman <matthew@lshift.net> | 2010-04-20 18:20:03 +0100 |
---|---|---|
committer | Matthew Sackman <matthew@lshift.net> | 2010-04-20 18:20:03 +0100 |
commit | 4e084ecf06e994046450a98f4162050ce0b5d1cf (patch) | |
tree | 7c6cf9bd42714ccf0cca95254598bd040a2008bb | |
parent | 29071f33bb3dffc3454f175420f42f80668ea078 (diff) | |
download | rabbitmq-server-bug22628.tar.gz |
Flatten out a tuplebug22628
-rw-r--r-- | src/rabbit_persister.erl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/rabbit_persister.erl b/src/rabbit_persister.erl index dd87689a..d41001a3 100644 --- a/src/rabbit_persister.erl +++ b/src/rabbit_persister.erl @@ -423,8 +423,8 @@ requeue_messages(Snapshot = #psnapshot{messages = Messages, fun ({QName, Requeues}) -> requeue(QName, Requeues, Messages) end, dict:to_list(Work))), - NewMessages = [{K, M} || {{_S, _Q, K}, M, _D} <- L], - NewQueues = [{{Q, K}, D, S} || {{S, Q, K}, _M, D} <- L], + NewMessages = [{K, M} || {_S, _Q, K, M, _D} <- L], + NewQueues = [{{Q, K}, D, S} || {S, Q, K, _M, D} <- L], ets:delete_all_objects(Messages), ets:delete_all_objects(Queues), true = ets:insert(Messages, NewMessages), @@ -436,7 +436,7 @@ requeue(QName, Requeues, Messages) -> case rabbit_amqqueue:lookup(QName) of {ok, #amqqueue{pid = QPid}} -> RequeueMessages = - [{{SeqId, QName, PKey}, Message, Delivered} || + [{SeqId, QName, PKey, Message, Delivered} || {SeqId, PKey, Delivered} <- Requeues, {_, Message} <- ets:lookup(Messages, PKey)], rabbit_amqqueue:redeliver( @@ -447,7 +447,7 @@ requeue(QName, Requeues, Messages) -> %% per-channel basis, and channels are bound to specific %% processes, sorting the list does provide the correct %% ordering properties. - [{Message, Delivered} || {_, Message, Delivered} <- + [{Message, Delivered} || {_, _, _, Message, Delivered} <- lists:sort(RequeueMessages)]), RequeueMessages; {error, not_found} -> |