summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_variable_queue.erl16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl
index ea72de66e3..1d239d1645 100644
--- a/src/rabbit_variable_queue.erl
+++ b/src/rabbit_variable_queue.erl
@@ -410,16 +410,15 @@ init(#amqqueue { name = QueueName, durable = IsDurable }, false,
init(#amqqueue { name = QueueName, durable = true }, true,
AsyncCallback, MsgOnDiskFun, MsgIdxOnDiskFun) ->
Terms = rabbit_queue_index:shutdown_terms(QueueName),
- {PRef, TRef, Terms1} =
- case [persistent_ref, transient_ref] -- proplists:get_keys(Terms) of
+ {PRef, Terms1} =
+ case [persistent_ref] -- proplists:get_keys(Terms) of
[] -> {proplists:get_value(persistent_ref, Terms),
- proplists:get_value(transient_ref, Terms),
Terms};
- _ -> {rabbit_guid:guid(), rabbit_guid:guid(), []}
+ _ -> {rabbit_guid:guid(), []}
end,
PersistentClient = msg_store_client_init(?PERSISTENT_MSG_STORE, PRef,
MsgOnDiskFun, AsyncCallback),
- TransientClient = msg_store_client_init(?TRANSIENT_MSG_STORE, TRef,
+ TransientClient = msg_store_client_init(?TRANSIENT_MSG_STORE,
undefined, AsyncCallback),
{DeltaCount, IndexState} =
rabbit_queue_index:recover(
@@ -442,11 +441,8 @@ terminate(_Reason, State) ->
_ -> ok = rabbit_msg_store:client_terminate(MSCStateP),
rabbit_msg_store:client_ref(MSCStateP)
end,
- ok = rabbit_msg_store:client_terminate(MSCStateT),
- TRef = rabbit_msg_store:client_ref(MSCStateT),
- Terms = [{persistent_ref, PRef},
- {transient_ref, TRef},
- {persistent_count, PCount}],
+ ok = rabbit_msg_store:client_delete_and_terminate(MSCStateT),
+ Terms = [{persistent_ref, PRef}, {persistent_count, PCount}],
a(State1 #vqstate { index_state = rabbit_queue_index:terminate(
Terms, IndexState),
msg_store_clients = undefined }).