summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--deps/rabbit/src/rabbit_amqqueue_process.erl4
-rw-r--r--deps/rabbit/src/rabbit_classic_queue_index_v2.erl8
-rw-r--r--deps/rabbit/src/rabbit_classic_queue_store_v2.erl8
-rw-r--r--deps/rabbit/src/rabbit_file.erl4
-rw-r--r--deps/rabbit/src/rabbit_msg_store.erl10
-rw-r--r--deps/rabbit/src/rabbit_msg_store_ets_index.erl4
-rw-r--r--deps/rabbit/src/rabbit_recovery_terms.erl4
-rw-r--r--deps/rabbit/src/rabbit_vhost.erl10
-rw-r--r--deps/rabbit/src/rabbit_vhost_process.erl1
-rw-r--r--erlang_ls.config4
10 files changed, 35 insertions, 22 deletions
diff --git a/deps/rabbit/src/rabbit_amqqueue_process.erl b/deps/rabbit/src/rabbit_amqqueue_process.erl
index 9b8d7ee6db..0b1536a133 100644
--- a/deps/rabbit/src/rabbit_amqqueue_process.erl
+++ b/deps/rabbit/src/rabbit_amqqueue_process.erl
@@ -211,8 +211,8 @@ init_it2(Recover, From, State = #q{q = Q,
State#q{backing_queue = BQ,
backing_queue_state = BQS}),
notify_decorators(startup, State),
- rabbit_event:notify(queue_created,
- infos(?CREATION_EVENT_KEYS, State1)),
+ % rabbit_event:notify(queue_created,
+ % infos(?CREATION_EVENT_KEYS, State1)),
rabbit_event:if_enabled(State1, #q.stats_timer,
fun() -> emit_stats(State1) end),
noreply(State1);
diff --git a/deps/rabbit/src/rabbit_classic_queue_index_v2.erl b/deps/rabbit/src/rabbit_classic_queue_index_v2.erl
index 51937558d7..b14d462fa8 100644
--- a/deps/rabbit/src/rabbit_classic_queue_index_v2.erl
+++ b/deps/rabbit/src/rabbit_classic_queue_index_v2.erl
@@ -204,7 +204,8 @@ init1(Name, Dir, OnSyncFun, OnSyncMsgFun) ->
}.
ensure_queue_name_stub_file(#resource{virtual_host = VHost, name = QName}, Dir) ->
- QueueNameFile = filename:join(Dir, ?QUEUE_NAME_STUB_FILE),
+ QueueNameFile = <<Dir/binary, "/", ?QUEUE_NAME_STUB_FILE>>,
+ % QueueNameFile = filename:join(Dir, ?QUEUE_NAME_STUB_FILE),
ok = write_file_and_ensure_dir(QueueNameFile, <<"VHOST: ", VHost/binary, "\n",
"QUEUE: ", QName/binary, "\n",
"INDEX: v2\n">>).
@@ -1270,8 +1271,9 @@ erase_index_dir(Dir) ->
queue_dir(VHostDir, QueueName) ->
%% Queue directory is
%% {node_database_dir}/msg_stores/vhosts/{vhost}/queues/{queue}
- QueueDir = queue_name_to_dir_name(QueueName),
- filename:join([VHostDir, "queues", QueueDir]).
+ QueueDir = list_to_binary(queue_name_to_dir_name(QueueName)),
+ <<VHostDir/binary, "/queues/", QueueDir/binary>>.
+ % filename:join([VHostDir, "queues", QueueDir]).
queue_name_to_dir_name(#resource { kind = queue,
virtual_host = VHost,
diff --git a/deps/rabbit/src/rabbit_classic_queue_store_v2.erl b/deps/rabbit/src/rabbit_classic_queue_store_v2.erl
index 84c24a486c..5d8657e0e7 100644
--- a/deps/rabbit/src/rabbit_classic_queue_store_v2.erl
+++ b/deps/rabbit/src/rabbit_classic_queue_store_v2.erl
@@ -114,11 +114,13 @@
-spec init(rabbit_amqqueue:name()) -> state().
-init(#resource{ virtual_host = VHost } = Name) ->
+init(#resource{ virtual_host = VHost, name = QName } = Name) ->
?DEBUG("~0p", [Name]),
VHostDir = rabbit_vhost:msg_store_dir_path(VHost),
- Dir = rabbit_classic_queue_index_v2:queue_dir(VHostDir, Name),
- #qs{dir = rabbit_file:filename_to_binary(Dir)}.
+ <<Num:128>> = erlang:md5(<<"queue", VHost/binary, QName/binary>>),
+ QDir = list_to_binary(rabbit_misc:format("~.36B", [Num])),
+ Dir = <<VHostDir/binary, "/queues/", QDir/binary>>,
+ #qs{dir = Dir}.
-spec terminate(State) -> State when State::state().
diff --git a/deps/rabbit/src/rabbit_file.erl b/deps/rabbit/src/rabbit_file.erl
index 8115be6923..5d4f5656e7 100644
--- a/deps/rabbit/src/rabbit_file.erl
+++ b/deps/rabbit/src/rabbit_file.erl
@@ -338,7 +338,9 @@ filename_to_binary(Name) when is_list(Name) ->
Bin;
Other ->
erlang:error(Other)
- end.
+ end;
+filename_to_binary(Name) when is_binary(Name) ->
+ Name.
-spec binary_to_filename(binary()) ->
file:filename().
diff --git a/deps/rabbit/src/rabbit_msg_store.erl b/deps/rabbit/src/rabbit_msg_store.erl
index cd84bed56e..33b64477db 100644
--- a/deps/rabbit/src/rabbit_msg_store.erl
+++ b/deps/rabbit/src/rabbit_msg_store.erl
@@ -1009,7 +1009,7 @@ terminate(_Reason, State = #msstate { index_state = IndexState,
State2
end,
State3 = close_all_handles(State1),
- case store_file_summary(FileSummaryEts, Dir) of
+ case store_file_summary(FileSummaryEts, binary_to_list(Dir)) of
ok -> ok;
{error, FSErr} ->
rabbit_log:error("Unable to store file summary"
@@ -1550,7 +1550,7 @@ filename_to_num(FileName) -> list_to_integer(filename:rootname(FileName)).
list_sorted_filenames(Dir, Ext) ->
lists:sort(fun (A, B) -> filename_to_num(A) < filename_to_num(B) end,
- filelib:wildcard("*" ++ Ext, Dir)).
+ filelib:wildcard("*" ++ Ext, binary_to_list(Dir))).
%%----------------------------------------------------------------------------
%% index
@@ -1637,10 +1637,10 @@ recover_index_and_client_refs(IndexModule, true, ClientRefs, Dir, Name) ->
end.
store_recovery_terms(Terms, Dir) ->
- rabbit_file:write_term_file(filename:join(Dir, ?CLEAN_FILENAME), Terms).
+ ok = rabbit_file:write_term_file(filename:join(binary_to_list(Dir), ?CLEAN_FILENAME), Terms).
read_recovery_terms(Dir) ->
- Path = filename:join(Dir, ?CLEAN_FILENAME),
+ Path = filename:join(binary_to_list(Dir), ?CLEAN_FILENAME),
case rabbit_file:read_term_file(Path) of
{ok, Terms} -> case file:delete(Path) of
ok -> {true, Terms};
@@ -1664,7 +1664,7 @@ recover_file_summary(false, _Dir) ->
{false, ets:new(rabbit_msg_store_file_summary,
[ordered_set, public, {keypos, #file_summary.file}])};
recover_file_summary(true, Dir) ->
- Path = filename:join(Dir, ?FILE_SUMMARY_FILENAME),
+ Path = filename:join(binary_to_list(Dir), ?FILE_SUMMARY_FILENAME),
case ets:file2tab(Path) of
{ok, Tid} -> ok = file:delete(Path),
{true, Tid};
diff --git a/deps/rabbit/src/rabbit_msg_store_ets_index.erl b/deps/rabbit/src/rabbit_msg_store_ets_index.erl
index 26888133ec..2a5dd0a8ff 100644
--- a/deps/rabbit/src/rabbit_msg_store_ets_index.erl
+++ b/deps/rabbit/src/rabbit_msg_store_ets_index.erl
@@ -29,8 +29,8 @@ new(Dir) ->
#state { table = Tid, dir = rabbit_file:filename_to_binary(Dir) }.
recover(Dir) ->
- Path = filename:join(Dir, ?FILENAME),
- case ets:file2tab(Path) of
+ Path = <<Dir/binary, "/", ?FILENAME>>,
+ case ets:file2tab(binary_to_list(Path)) of
{ok, Tid} -> _ = file:delete(Path),
{ok, #state { table = Tid, dir = rabbit_file:filename_to_binary(Dir) }};
Error -> Error
diff --git a/deps/rabbit/src/rabbit_recovery_terms.erl b/deps/rabbit/src/rabbit_recovery_terms.erl
index b033c12f66..f30a31dcd0 100644
--- a/deps/rabbit/src/rabbit_recovery_terms.erl
+++ b/deps/rabbit/src/rabbit_recovery_terms.erl
@@ -124,8 +124,8 @@ open_table(VHost, RamFile) ->
open_table(VHost, RamFile, RetriesLeft) ->
VHostDir = rabbit_vhost:msg_store_dir_path(VHost),
- File = filename:join(VHostDir, "recovery.dets"),
- Opts = [{file, File},
+ File = <<VHostDir/binary, "/", "recovery.dets">>,
+ Opts = [{file, binary_to_list(File)},
{ram_file, RamFile},
{auto_save, infinity}],
case dets:open_file(VHost, Opts) of
diff --git a/deps/rabbit/src/rabbit_vhost.erl b/deps/rabbit/src/rabbit_vhost.erl
index 24bca6f808..06b6350fc1 100644
--- a/deps/rabbit/src/rabbit_vhost.erl
+++ b/deps/rabbit/src/rabbit_vhost.erl
@@ -18,7 +18,7 @@
-export([parse_tags/1, update_tags/3]).
-export([lookup/1, default_name/0]).
-export([info/1, info/2, info_all/0, info_all/1, info_all/2, info_all/3]).
--export([dir/1, msg_store_dir_path/1, msg_store_dir_wildcard/0, config_file_path/1, ensure_config_file/1]).
+-export([dir/1, msg_store_dir_path/1, msg_store_dir_path_init/1, msg_store_dir_wildcard/0, config_file_path/1, ensure_config_file/1]).
-export([delete_storage/1]).
-export([vhost_down/1]).
-export([put_vhost/5,
@@ -521,8 +521,14 @@ dir(Vhost) ->
rabbit_misc:format("~.36B", [Num]).
msg_store_dir_path(VHost) ->
+ % <<"/home/mkuratczyk/data/rabbit@kura/mnesia/rabbit@kura/msg_stores/vhosts/628WB79CIFDYO9LJI6DKMI09L">>.
+ % EncodedName = list_to_binary(dir(VHost)),
+ persistent_term:get({vhost, VHost}).
+ % <<VHostDir/binary, EncodedName/binary>>.
+
+msg_store_dir_path_init(VHost) ->
EncodedName = dir(VHost),
- rabbit_data_coercion:to_list(filename:join([msg_store_dir_base(), EncodedName])).
+ list_to_binary(rabbit_data_coercion:to_list(filename:join([msg_store_dir_base(), EncodedName]))).
msg_store_dir_wildcard() ->
rabbit_data_coercion:to_list(filename:join([msg_store_dir_base(), "*"])).
diff --git a/deps/rabbit/src/rabbit_vhost_process.erl b/deps/rabbit/src/rabbit_vhost_process.erl
index 9e6419491d..8c895522ed 100644
--- a/deps/rabbit/src/rabbit_vhost_process.erl
+++ b/deps/rabbit/src/rabbit_vhost_process.erl
@@ -39,6 +39,7 @@ init([VHost]) ->
process_flag(trap_exit, true),
rabbit_log:debug("Recovering data for VHost ~ts", [VHost]),
try
+ persistent_term:put({vhost, VHost}, rabbit_vhost:msg_store_dir_path_init(VHost)),
%% Recover the vhost data and save it to vhost registry.
ok = rabbit_vhost:recover(VHost),
rabbit_vhost_sup_sup:save_vhost_process(VHost, self()),
diff --git a/erlang_ls.config b/erlang_ls.config
index 31f041feaf..c89b737db4 100644
--- a/erlang_ls.config
+++ b/erlang_ls.config
@@ -29,6 +29,6 @@ lenses:
# macros:
# - name: DEFINED_WITH_VALUE
# value: 42
-# code_reload:
-# node: rabbit@localhost
+code_reload:
+ node: rabbit@kura
plt_path: .rabbitmq_server_release.plt