Skip to content

Commit af0791b

Browse files
committed
Don't release lock when writing skip message records
Signed-off-by: Neil Twigg <[email protected]>
1 parent e1e5f15 commit af0791b

File tree

1 file changed

+6
-7
lines changed

1 file changed

+6
-7
lines changed

server/filestore.go

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4537,11 +4537,11 @@ func (mb *msgBlock) skipMsg(seq uint64, now int64) {
45374537
needsRecord = true
45384538
mb.dmap.Insert(seq)
45394539
}
4540-
mb.mu.Unlock()
4541-
45424540
if needsRecord {
4543-
mb.writeMsgRecord(emptyRecordLen, seq|ebit, _EMPTY_, nil, nil, now, true)
4544-
} else {
4541+
mb.writeMsgRecordLocked(emptyRecordLen, seq|ebit, _EMPTY_, nil, nil, now, true, true)
4542+
}
4543+
mb.mu.Unlock()
4544+
if !needsRecord {
45454545
mb.kickFlusher()
45464546
}
45474547
}
@@ -4629,10 +4629,9 @@ func (fs *fileStore) SkipMsgs(seq uint64, num uint64) error {
46294629
mb.dmap.Insert(seq)
46304630
}
46314631
}
4632-
mb.mu.Unlock()
4633-
46344632
// Write out our placeholder.
4635-
mb.writeMsgRecord(emptyRecordLen, lseq|ebit, _EMPTY_, nil, nil, now, true)
4633+
mb.writeMsgRecordLocked(emptyRecordLen, lseq|ebit, _EMPTY_, nil, nil, now, true, true)
4634+
mb.mu.Unlock()
46364635

46374636
// Now update FS accounting.
46384637
// Update fs state.

0 commit comments

Comments
 (0)