diff options
| author | Matthew Sackman <matthew@lshift.net> | 2009-12-22 17:34:41 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2009-12-22 17:34:41 +0000 |
| commit | 37223b15449631c87605676a42ba677a31bdcb52 (patch) | |
| tree | 26188fc01cb986f34541f38ca7979a9fcf7660fc | |
| parent | 5853e213c08caa57ecd1e54b43a0b60926fe87e6 (diff) | |
| download | rabbitmq-server-git-37223b15449631c87605676a42ba677a31bdcb52.tar.gz | |
Support pluggable msg_store index module through the rabbit_msg_store_index_module rabbit application var
| -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) -> |
