diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-05-18 15:02:25 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-05-18 15:02:25 +0100 |
| commit | 29a19aee52d91aef333dde32711bfcfb5581e34d (patch) | |
| tree | 6e6a3267ee7d492331dabfa1e4d0275a07df0387 /src | |
| parent | c06cebee9707c71769aa4b30f75792fd13c691f6 (diff) | |
| download | rabbitmq-server-git-29a19aee52d91aef333dde32711bfcfb5581e34d.tar.gz | |
Because of the change to qi:read, we now don't need δ to start on a segment boundary. This removes the need for current_segment_boundary
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_queue_index.erl | 8 | ||||
| -rw-r--r-- | src/rabbit_variable_queue.erl | 6 |
2 files changed, 2 insertions, 12 deletions
diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index 9cd816b21d..1f3ce0a805 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -33,8 +33,7 @@ -export([init/3, terminate/2, terminate_and_erase/1, publish/4, deliver/2, ack/2, sync/2, flush/1, read/3, - current_segment_boundary/1, next_segment_boundary/1, bounds/1, - recover/1]). + next_segment_boundary/1, bounds/1, recover/1]). -define(CLEAN_FILENAME, "clean.dot"). @@ -196,7 +195,6 @@ -spec(read/3 :: (seq_id(), seq_id(), qistate()) -> {[{guid(), seq_id(), boolean(), boolean()}], seq_id() | 'undefined', qistate()}). --spec(current_segment_boundary/1 :: (seq_id()) -> seq_id()). -spec(next_segment_boundary/1 :: (seq_id()) -> seq_id()). -spec(bounds/1 :: (qistate()) -> {non_neg_integer(), non_neg_integer(), qistate()}). @@ -365,10 +363,6 @@ read(Start, End, State = #qistate { segments = Segments, Again, State #qistate { segments = segment_store(Segment1, Segments) }}. -current_segment_boundary(SeqId) -> - {Seg, _RelSeq} = seq_id_to_seg_and_rel_seq_id(SeqId), - reconstruct_seq_id(Seg, 0). - next_segment_boundary(SeqId) -> {Seg, _RelSeq} = seq_id_to_seg_and_rel_seq_id(SeqId), reconstruct_seq_id(Seg + 1, 0). diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 992cf19a72..d3fa33dc2f 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -1200,11 +1200,7 @@ publish(neither, MsgStatus = #msg_status { seq_id = SeqId }, State = {#msg_status { index_on_disk = true }, IndexState1} = maybe_write_index_to_disk(true, MsgStatus1, IndexState), true = queue:is_empty(Q1) andalso bpqueue:is_empty(Q2), %% ASSERTION - %% delta may be empty, seq_id > next_segment_boundary from q3 - %% head, so we need to find where the segment boundary is before - %% or equal to seq_id - DeltaSeqId = rabbit_queue_index:current_segment_boundary(SeqId), - Delta1 = #delta { start_seq_id = DeltaSeqId, count = 1, + Delta1 = #delta { start_seq_id = SeqId, count = 1, end_seq_id = SeqId + 1 }, State #vqstate { index_state = IndexState1, delta = combine_deltas(Delta, Delta1), |
