From 170b0570d4eb477017ba4f69386bcff8758376de Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Fri, 30 Jul 2021 15:18:00 -0700 Subject: [PATCH] Off by one bug (surprise) that would skip first new message on deliver last per subject. Signed-off-by: Derek Collison --- server/consumer.go | 2 +- server/jetstream_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/server/consumer.go b/server/consumer.go index d63105bd..b7b76204 100644 --- a/server/consumer.go +++ b/server/consumer.go @@ -2659,7 +2659,7 @@ func (o *consumer) selectStartingSeqNo() { } else if o.cfg.DeliverPolicy == DeliverLastPerSubject { if mss := o.mset.store.SubjectsState(o.cfg.FilterSubject); len(mss) > 0 { o.lss = &lastSeqSkipList{ - resume: stats.LastSeq + 1, + resume: stats.LastSeq, seqs: createLastSeqSkipList(mss), } o.sseq = o.lss.seqs[0] diff --git a/server/jetstream_test.go b/server/jetstream_test.go index f3c14343..43392ec5 100644 --- a/server/jetstream_test.go +++ b/server/jetstream_test.go @@ -12302,11 +12302,11 @@ func TestJetStreamDeliverLastPerSubject(t *testing.T) { checkNext("kv.b1.baz", 65, "11") msg := []byte(fmt.Sprintf("%d", 22)) - js.Publish("kv.b2.foo", msg) // Not filtered through.. js.Publish("kv.b1.bar", msg) + js.Publish("kv.b2.foo", msg) // Not filtered through.. checkSubsPending(t, sub, 1) - checkNext("kv.b1.bar", 68, "22") + checkNext("kv.b1.bar", 67, "22") }) } }