diff options
| author | Daniil Fedotov <fedotov.danil@gmail.com> | 2017-06-12 16:35:46 +0100 |
|---|---|---|
| committer | Daniil Fedotov <fedotov.danil@gmail.com> | 2017-06-12 16:35:46 +0100 |
| commit | 681ee865ec5f8ee57e1bbc2a8b1d5bcaa6f55288 (patch) | |
| tree | 385de3a46e0bf27184da5471e4dfa36e15b4b917 /src | |
| parent | 245e3c73031f2a7c27d32daa802dd03ec5b8aec2 (diff) | |
| parent | a23338ad6fa3d0b7b2e9613ba0e84fff12078d82 (diff) | |
| download | rabbitmq-server-git-681ee865ec5f8ee57e1bbc2a8b1d5bcaa6f55288.tar.gz | |
Merge branch 'stable'
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_queue_index.erl | 2 | ||||
| -rw-r--r-- | src/term_to_binary_compat.erl | 32 |
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 + |
