diff options
| -rw-r--r-- | src/rabbit_msg_store.erl | 10 | ||||
| -rw-r--r-- | src/rabbit_msg_store_ets_index.erl | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl index c060c8d4c6..e3bd73165f 100644 --- a/src/rabbit_msg_store.erl +++ b/src/rabbit_msg_store.erl @@ -244,8 +244,14 @@ init([Dir, MsgRefDeltaGen, MsgRefDeltaGenInit]) -> ok = filelib:ensure_dir(filename:join(Dir, "nothing")), - IndexModule = rabbit_msg_store_ets_index, - IndexState = IndexModule:init(), + IndexModule = + case application:get_env(rabbit_msg_store_index_module) of + {ok, Module} -> Module; + _ -> rabbit_msg_store_ets_index + end, + rabbit_log:info("Using ~p to provide index for message store~n", + [IndexModule]), + IndexState = IndexModule:init(Dir), InitFile = 0, FileSummary = ets:new(?FILE_SUMMARY_ETS_NAME, diff --git a/src/rabbit_msg_store_ets_index.erl b/src/rabbit_msg_store_ets_index.erl index cb13ed8690..e8d596f9c5 100644 --- a/src/rabbit_msg_store_ets_index.erl +++ b/src/rabbit_msg_store_ets_index.erl @@ -30,14 +30,14 @@ %% -module(rabbit_msg_store_ets_index). --export([init/0, lookup/2, insert/2, update/2, update_fields/3, delete/2, +-export([init/1, lookup/2, insert/2, update/2, update_fields/3, delete/2, delete_by_file/2, terminate/1]). -define(MSG_LOC_NAME, rabbit_msg_store_ets_index). -include("rabbit_msg_store.hrl"). -init() -> +init(_Dir) -> ets:new(?MSG_LOC_NAME, [set, public, {keypos, #msg_location.msg_id}]). lookup(Key, MsgLocations) -> |
