diff options
-rw-r--r-- | deps/rabbit/src/rabbit_amqqueue_process.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_classic_queue_index_v2.erl | 8 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_classic_queue_store_v2.erl | 8 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_file.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_msg_store.erl | 10 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_msg_store_ets_index.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_recovery_terms.erl | 4 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_vhost.erl | 10 | ||||
-rw-r--r-- | deps/rabbit/src/rabbit_vhost_process.erl | 1 | ||||
-rw-r--r-- | erlang_ls.config | 4 |
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 |