diff options
| author | Michael Klishin <mklishin@pivotal.io> | 2016-06-14 22:50:36 +0300 |
|---|---|---|
| committer | Michael Klishin <mklishin@pivotal.io> | 2016-06-14 22:50:36 +0300 |
| commit | d8d72f12867599a1687b32a99a50fd4ce8ddbe1b (patch) | |
| tree | 94c110ed4e6777e42ff9562029381ebaad8be220 /src | |
| parent | 03d015c3bd2c86dc6df8413b58e2d780c783af08 (diff) | |
| parent | 55acdb57727cc2cda19972269693d4c9133d8810 (diff) | |
| download | rabbitmq-server-git-d8d72f12867599a1687b32a99a50fd4ce8ddbe1b.tar.gz | |
Merge branch 'rabbitmq-server-687' into stable
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_priority_queue.erl | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/rabbit_priority_queue.erl b/src/rabbit_priority_queue.erl index a3bfb5cdfa..ae8a38daf0 100644 --- a/src/rabbit_priority_queue.erl +++ b/src/rabbit_priority_queue.erl @@ -591,10 +591,15 @@ partition_publish_delivered_batch(Publishes, MaxP) -> Publishes, fun ({Msg, _}) -> Msg end, MaxP). partition_publishes(Publishes, ExtractMsg, MaxP) -> - lists:foldl(fun (Pub, Dict) -> - Msg = ExtractMsg(Pub), - rabbit_misc:orddict_cons(priority(Msg, MaxP), Pub, Dict) - end, orddict:new(), Publishes). + Partitioned = + lists:foldl(fun (Pub, Dict) -> + Msg = ExtractMsg(Pub), + rabbit_misc:orddict_cons(priority(Msg, MaxP), Pub, Dict) + end, orddict:new(), Publishes), + orddict:map(fun (_P, RevPubs) -> + lists:reverse(RevPubs) + end, Partitioned). + priority_bq(Priority, [{MaxP, _} | _] = BQSs) -> bq_fetch(priority(Priority, MaxP), BQSs). |
