diff --git a/tsdb/wal/wal.go b/tsdb/wal/wal.go index 3473043a762e98f71c03325cbe6556c9d4c51b3f..6d64bb37ef922f4e8ebe437320d915fd142e3271 100644 --- a/tsdb/wal/wal.go +++ b/tsdb/wal/wal.go @@ -64,6 +64,14 @@ func (p *page) full() bool { return pageSize-p.alloc < recordHeaderSize } +func (p *page) reset() { + for i := range p.buf { + p.buf[i] = 0 + } + p.alloc = 0 + p.flushed = 0 +} + // Segment represents a segment file. type Segment struct { *os.File @@ -494,11 +502,7 @@ func (w *WAL) flushPage(clear bool) error { // We flushed an entire page, prepare a new one. if clear { - for i := range p.buf { - p.buf[i] = 0 - } - p.alloc = 0 - p.flushed = 0 + p.reset() w.donePages++ w.pageCompletions.Inc() }