more granular errors

This commit is contained in:
Alex Grintsvayg 2020-01-03 14:02:00 -05:00
parent 18b15674d9
commit b3b581c00e
No known key found for this signature in database
GPG key ID: AEB3F089F86A22B5

View file

@ -72,6 +72,7 @@ const (
errReadConnTimedOut = "read_conn_timed_out" errReadConnTimedOut = "read_conn_timed_out"
errWriteBrokenPipe = "write_broken_pipe" errWriteBrokenPipe = "write_broken_pipe"
errEPipe = "e_pipe" errEPipe = "e_pipe"
errETimedout = "e_timedout"
errIOTimeout = "io_timeout" errIOTimeout = "io_timeout"
errUnexpectedEOF = "unexpected_eof" errUnexpectedEOF = "unexpected_eof"
errUnexpectedEOFStr = "unexpected_eof_str" errUnexpectedEOFStr = "unexpected_eof_str"
@ -124,9 +125,9 @@ func TrackError(direction string, e error) (shouldLog bool) { // shouldLog is a
log.Warnln("write conn reset by peer is not the same as ECONNRESET") log.Warnln("write conn reset by peer is not the same as ECONNRESET")
errType = errWriteConnReset errType = errWriteConnReset
} else if errors.Is(e, syscall.ETIMEDOUT) { } else if errors.Is(e, syscall.ETIMEDOUT) {
errType = errReadConnTimedOut errType = errETimedout
} else if strings.Contains(err.Error(), "read: connection timed out") { // the other side closed the connection using TCP reset } else if strings.Contains(err.Error(), "read: connection timed out") { // the other side closed the connection using TCP reset
log.Warnln("read conn timed out is not the same as ETIMEDOUT") //log.Warnln("read conn timed out is not the same as ETIMEDOUT")
errType = errReadConnTimedOut errType = errReadConnTimedOut
} else if errors.Is(e, io.ErrUnexpectedEOF) { } else if errors.Is(e, io.ErrUnexpectedEOF) {
errType = errUnexpectedEOF errType = errUnexpectedEOF