diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2011-03-14 17:55:47 +0000 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-03-14 17:55:47 +0000 |
| commit | 84102019795bddd7d42f9bc01e6abea4813fef78 (patch) | |
| tree | 537a0791fdca92ace4592fbb83d0a10cf09f5fe9 | |
| parent | dafce92cc24ff7f0b47b3d28be758ea7fa052c05 (diff) | |
| download | rabbitmq-server-git-84102019795bddd7d42f9bc01e6abea4813fef78.tar.gz | |
Start the GC before we rebuild the index, and store it in the State
| -rw-r--r-- | src/rabbit_msg_store.erl | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl index 4f5d241107..1bc4fd6b9f 100644 --- a/src/rabbit_msg_store.erl +++ b/src/rabbit_msg_store.erl @@ -646,6 +646,15 @@ init([Server, BaseDir, ClientRefs, StartupFunState]) -> {ok, FileSizeLimit} = application:get_env(msg_store_file_size_limit), + {ok, GCPid} = rabbit_msg_store_gc:start_link( + #gc_state { dir = Dir, + index_module = IndexModule, + index_state = IndexState, + file_summary_ets = FileSummaryEts, + file_handles_ets = FileHandlesEts, + msg_store = self() + }), + State = #msstate { dir = Dir, index_module = IndexModule, index_state = IndexState, @@ -657,7 +666,7 @@ init([Server, BaseDir, ClientRefs, StartupFunState]) -> sum_valid_data = 0, sum_file_size = 0, pending_gc_completion = orddict:new(), - gc_pid = undefined, + gc_pid = GCPid, file_handles_ets = FileHandlesEts, file_summary_ets = FileSummaryEts, dedup_cache_ets = DedupCacheEts, @@ -680,15 +689,6 @@ init([Server, BaseDir, ClientRefs, StartupFunState]) -> {ok, Offset} = file_handle_cache:position(CurHdl, Offset), ok = file_handle_cache:truncate(CurHdl), - {ok, GCPid} = rabbit_msg_store_gc:start_link( - #gc_state { dir = Dir, - index_module = IndexModule, - index_state = IndexState, - file_summary_ets = FileSummaryEts, - file_handles_ets = FileHandlesEts, - msg_store = self() - }), - {ok, maybe_compact( State1 #msstate { current_file_handle = CurHdl, gc_pid = GCPid }), hibernate, |
