From 987892b2605d088f03ad395250d9ef9263305bc4 Mon Sep 17 00:00:00 2001 From: Derek Collison Date: Fri, 23 Oct 2020 05:52:05 -0700 Subject: [PATCH] Purge clears dedupe window as well Signed-off-by: Derek Collison --- server/stream.go | 2 ++ test/jetstream_test.go | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/server/stream.go b/server/stream.go index a2b2d288..1444a8eb 100644 --- a/server/stream.go +++ b/server/stream.go @@ -520,6 +520,8 @@ func (mset *Stream) Purge() uint64 { return 0 } purged := mset.store.Purge() + // Purge dedupe. + mset.ddmap = nil stats := mset.store.State() var obs []*Consumer for _, o := range mset.consumers { diff --git a/test/jetstream_test.go b/test/jetstream_test.go index 485d1b2e..ee43f1d5 100644 --- a/test/jetstream_test.go +++ b/test/jetstream_test.go @@ -2896,6 +2896,10 @@ func TestJetStreamPublishDeDupe(t *testing.T) { if !pa.Duplicate { t.Fatalf("Expected duplicate to be set") } + + // Purge should wipe the msgIds as well. + mset.Purge() + nmids(0) } func TestJetStreamPullConsumerRemoveInterest(t *testing.T) {