diff --git a/model/textparse/protobufparse_test.go b/model/textparse/protobufparse_test.go index b8b8681724..cbd803579f 100644 --- a/model/textparse/protobufparse_test.go +++ b/model/textparse/protobufparse_test.go @@ -16,6 +16,7 @@ package textparse import ( "bytes" "encoding/binary" + "errors" "io" "testing" @@ -604,7 +605,7 @@ metric: < for { et, err := p.Next() - if err == io.EOF { + if errors.Is(err, io.EOF) { break } require.NoError(t, err) diff --git a/scrape/scrape.go b/scrape/scrape.go index d3e10e6d2d..fce3ad34c8 100644 --- a/scrape/scrape.go +++ b/scrape/scrape.go @@ -1544,7 +1544,7 @@ loop: fh *histogram.FloatHistogram ) if et, err = p.Next(); err != nil { - if err == io.EOF { + if errors.Is(err, io.EOF) { err = nil } break diff --git a/storage/remote/read_handler_test.go b/storage/remote/read_handler_test.go index ba2517a409..b5b717455c 100644 --- a/storage/remote/read_handler_test.go +++ b/storage/remote/read_handler_test.go @@ -15,6 +15,7 @@ package remote import ( "bytes" + "errors" "io" "net/http" "net/http/httptest" @@ -163,7 +164,7 @@ func BenchmarkStreamReadEndpoint(b *testing.B) { for { res := &prompb.ChunkedReadResponse{} err := stream.NextProto(res) - if err == io.EOF { + if errors.Is(err, io.EOF) { break } require.NoError(b, err) @@ -253,7 +254,7 @@ func TestStreamReadEndpoint(t *testing.T) { for { res := &prompb.ChunkedReadResponse{} err := stream.NextProto(res) - if err == io.EOF { + if errors.Is(err, io.EOF) { break } require.NoError(t, err) diff --git a/tsdb/head.go b/tsdb/head.go index 8ec8a010d9..4eb4339bd1 100644 --- a/tsdb/head.go +++ b/tsdb/head.go @@ -667,7 +667,7 @@ func (h *Head) Init(minValidTime int64) error { offset = snapOffset } sr, err := wlog.NewSegmentBufReaderWithOffset(offset, s) - if errors.Cause(err) == io.EOF { + if errors.Is(err, io.EOF) { // File does not exist. continue } diff --git a/tsdb/wal.go b/tsdb/wal.go index 03043c781b..38584847eb 100644 --- a/tsdb/wal.go +++ b/tsdb/wal.go @@ -1018,7 +1018,7 @@ func (r *walReader) next() bool { // If we reached the end of the reader, advance to the next one // and close. // Do not close on the last one as it will still be appended to. - if err == io.EOF { + if errors.Is(err, io.EOF) { if r.cur == len(r.files)-1 { return false } diff --git a/tsdb/wlog/live_reader.go b/tsdb/wlog/live_reader.go index fd949a9630..29467aef4a 100644 --- a/tsdb/wlog/live_reader.go +++ b/tsdb/wlog/live_reader.go @@ -96,7 +96,7 @@ type LiveReader struct { // not be used again. It is up to the user to decide when to stop trying should // io.EOF be returned. func (r *LiveReader) Err() error { - if r.eofNonErr && r.err == io.EOF { + if r.eofNonErr && errors.Is(r.err, io.EOF) { return nil } return r.err diff --git a/tsdb/wlog/reader.go b/tsdb/wlog/reader.go index e2b50d4b2a..cba2167646 100644 --- a/tsdb/wlog/reader.go +++ b/tsdb/wlog/reader.go @@ -43,7 +43,7 @@ func NewReader(r io.Reader) *Reader { // It must not be called again after it returned false. func (r *Reader) Next() bool { err := r.next() - if errors.Cause(err) == io.EOF { + if errors.Is(err, io.EOF) { // The last WAL segment record shouldn't be torn(should be full or last). // The last record would be torn after a crash just before // the last record part could be persisted to disk.