lib/persistentqueue: verify that ReaderOffset doesnt exceed WriterOffset when opening the persistent queue

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/964
This commit is contained in:
Aliaksandr Valialkin 2020-12-14 19:25:23 +02:00
parent ae972429c7
commit d006b41eff

View file

@ -336,6 +336,10 @@ func tryOpeningQueue(path, name string, chunkFileSize, maxBlockSize, maxPendingB
cleanOnError()
return nil, fmt.Errorf("couldn't find chunk file for writing in %q", q.dir)
}
if q.readerOffset > q.writerOffset {
cleanOnError()
return nil, fmt.Errorf("readerOffset=%d cannot exceed writerOffset=%d", q.readerOffset, q.writerOffset)
}
mustCloseFlockF = false
return &q, nil
}