mirror of
https://github.com/gogrlx/nats-server.git
synced 2026-04-02 03:38:42 -07:00
Fix FirstSeq not being updated with filestore when purging subject (#4042)
Resolves https://github.com/nats-io/nats-server/issues/4041 Keeps `firstSeqNeedsUpdate` set if set previously, to ensure the FirstSeq gets updated.
This commit is contained in:
@@ -5098,7 +5098,8 @@ func (fs *fileStore) PurgeEx(subject string, sequence, keep uint64) (purged uint
|
||||
if mb.isEmpty() {
|
||||
fs.removeMsgBlock(mb)
|
||||
i--
|
||||
firstSeqNeedsUpdate = seq == fs.state.FirstSeq
|
||||
// keep flag set, if set previously
|
||||
firstSeqNeedsUpdate = firstSeqNeedsUpdate || seq == fs.state.FirstSeq
|
||||
} else if seq == fs.state.FirstSeq {
|
||||
fs.state.FirstSeq = mb.first.seq // new one.
|
||||
fs.state.FirstTime = time.Unix(0, mb.first.ts).UTC()
|
||||
|
||||
@@ -4020,6 +4020,7 @@ func TestFileStorePurgeExWithSubject(t *testing.T) {
|
||||
require_True(t, int(p) == total)
|
||||
require_True(t, int(p) == total)
|
||||
require_True(t, fs.State().Msgs == 1)
|
||||
require_True(t, fs.State().FirstSeq == 201)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user