diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2010-06-18 13:54:13 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-06-18 13:54:13 +0100 |
| commit | 19a44edbfa9f59e6ce944e08bcac232ffd31eca7 (patch) | |
| tree | ceed391fb410f0014c41d68015d0325c4551e8ec | |
| parent | 9f61337d1a4cd6f2d371f32c4db821d67362f620 (diff) | |
| download | rabbitmq-server-git-19a44edbfa9f59e6ce944e08bcac232ffd31eca7.tar.gz | |
Guarantee that we're only reading max one segment when we load in from δ to q3(β)
| -rw-r--r-- | src/rabbit_variable_queue.erl | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 7c5e527fdd..a3a33377cc 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -1269,8 +1269,11 @@ maybe_deltas_to_betas(State = #vqstate { #delta { start_seq_id = DeltaSeqId, count = DeltaCount, end_seq_id = DeltaSeqIdEnd } = Delta, + DeltaSeqIdEnd1 = + lists:min([rabbit_queue_index:next_segment_boundary(DeltaSeqId), + DeltaSeqIdEnd]), {List, DeltaSeqId1, IndexState1} = - rabbit_queue_index:read(DeltaSeqId, DeltaSeqIdEnd, IndexState), + rabbit_queue_index:read(DeltaSeqId, DeltaSeqIdEnd1, IndexState), {Q3a, IndexState2} = betas_from_index_entries( List, TransientThreshold, IndexState1), State1 = State #vqstate { index_state = IndexState2 }, |
