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 | 79acba27de543f92ef9bf05034671372ac15b3f4 (patch) | |
| tree | fdf03c3af9f440fc4b7921e8aab710ff0e579c51 /src | |
| parent | 82406489b7baf59e5a381afec5409f5c8d553991 (diff) | |
| download | rabbitmq-server-git-79acba27de543f92ef9bf05034671372ac15b3f4.tar.gz | |
fix a bug
Diffstat (limited to 'src')
| -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 18423dd7b0..c678236f71 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, |
