summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniil Fedotov <fedotov.danil@gmail.com>2017-06-12 16:35:46 +0100
committerDaniil Fedotov <fedotov.danil@gmail.com>2017-06-12 16:35:46 +0100
commit681ee865ec5f8ee57e1bbc2a8b1d5bcaa6f55288 (patch)
tree385de3a46e0bf27184da5471e4dfa36e15b4b917 /src
parent245e3c73031f2a7c27d32daa802dd03ec5b8aec2 (diff)
parenta23338ad6fa3d0b7b2e9613ba0e84fff12078d82 (diff)
downloadrabbitmq-server-git-681ee865ec5f8ee57e1bbc2a8b1d5bcaa6f55288.tar.gz
Merge branch 'stable'
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_queue_index.erl2
-rw-r--r--src/term_to_binary_compat.erl32
2 files changed, 33 insertions, 1 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl
index a71eaf1ff4..123bfaba25 100644
--- a/src/rabbit_queue_index.erl
+++ b/src/rabbit_queue_index.erl
@@ -691,7 +691,7 @@ recover_message(false, _, no_del, RelSeq, {Segment, DirtyCount}) ->
DirtyCount + 2}.
queue_name_to_dir_name(Name = #resource { kind = queue }) ->
- <<Num:128>> = erlang:md5(term_to_binary(Name)),
+ <<Num:128>> = erlang:md5(term_to_binary_compat:queue_name_to_binary(Name)),
rabbit_misc:format("~.36B", [Num]).
queues_base_dir() ->
diff --git a/src/term_to_binary_compat.erl b/src/term_to_binary_compat.erl
new file mode 100644
index 0000000000..a3e1045623
--- /dev/null
+++ b/src/term_to_binary_compat.erl
@@ -0,0 +1,32 @@
+%% The contents of this file are subject to the Mozilla Public License
+%% Version 1.1 (the "License"); you may not use this file except in
+%% compliance with the License. You may obtain a copy of the License
+%% at http://www.mozilla.org/MPL/
+%%
+%% Software distributed under the License is distributed on an "AS IS"
+%% basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+%% the License for the specific language governing rights and
+%% limitations under the License.
+%%
+%% The Original Code is RabbitMQ.
+%%
+%% The Initial Developer of the Original Code is GoPivotal, Inc.
+%% Copyright (c) 2017 Pivotal Software, Inc. All rights reserved.
+%%
+
+-module(term_to_binary_compat).
+
+-include("rabbit.hrl").
+
+-export([queue_name_to_binary/1]).
+
+queue_name_to_binary(#resource{kind = queue} = {resource, VHost, queue, Name}) ->
+ VHostBSize = byte_size(VHost),
+ NameBSize = byte_size(Name),
+ <<131, %% Binary format "version"
+ 104, 4, %% 4-element tuple
+ 100, 0, 8, "resource", %% `resource` atom
+ 109, VHostBSize:32, VHost/binary, %% Vhost binary
+ 100, 0, 5, "queue", %% `queue` atom
+ 109, NameBSize:32, Name/binary>>. %% Name binary
+