prometheus/wal
Tom Wilkie 77d5a7d47a
LiveReader can get into an infinite loop on corrupt WALs. (#524)
Make WAL live tailer return EOF when the there is a half-written record at the end of the file.

Previously, this would cause an infinite loop as we ignored EOFs when filling the buffer.  We now differentiate between EOFs that read >0 bytes, and EOFs that didn't.

Add some more unit tests for tailing a corrupt WAL, and unify interfaces Reader and LiveReader for the purposes of testing.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>
2019-02-19 14:33:57 +00:00
..
live_reader.go LiveReader can get into an infinite loop on corrupt WALs. (#524) 2019-02-19 14:33:57 +00:00
reader.go LiveReader can get into an infinite loop on corrupt WALs. (#524) 2019-02-19 14:33:57 +00:00
reader_test.go LiveReader can get into an infinite loop on corrupt WALs. (#524) 2019-02-19 14:33:57 +00:00
wal.go LiveReader can get into an infinite loop on corrupt WALs. (#524) 2019-02-19 14:33:57 +00:00
wal_test.go LiveReader can get into an infinite loop on corrupt WALs. (#524) 2019-02-19 14:33:57 +00:00