diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2011-01-11 16:12:20 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2011-01-11 16:12:20 +0000 |
commit | 883f064599382f440949ae73cc71671eeced7451 (patch) | |
tree | fdf03c3af9f440fc4b7921e8aab710ff0e579c51 | |
parent | 74288bb9604849ac492f9b714c25dce6c9174628 (diff) | |
download | rabbitmq-server-883f064599382f440949ae73cc71671eeced7451.tar.gz |
fix a bug
-rw-r--r-- | src/rabbit_variable_queue.erl | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 18423dd7..c678236f 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -1391,10 +1391,13 @@ find_persistent_count(LensByStore) -> %% Internal plumbing for confirms (aka publisher acks) %%---------------------------------------------------------------------------- -confirm_commit_index(State = #vqstate { unconfirmed = [] }) -> - State; -confirm_commit_index(State = #vqstate { index_state = IndexState }) -> - State #vqstate { index_state = rabbit_queue_index:sync(IndexState) }. +confirm_commit_index(State = #vqstate { unconfirmed = UC, + index_state = IndexState }) -> + case gb_sets:is_empty(UC) of + true -> State; + false -> State #vqstate { + index_state = rabbit_queue_index:sync(IndexState) } + end. remove_confirms(GuidSet, State = #vqstate { msgs_on_disk = MOD, msg_indices_on_disk = MIOD, |