diff options
author | Yuxuan 'fishy' Wang <yuxuan.wang@reddit.com> | 2022-02-08 15:07:31 -0800 |
---|---|---|
committer | Yuxuan 'fishy' Wang <yuxuan.wang@reddit.com> | 2022-02-08 16:40:47 -0800 |
commit | 303139410616ab3e580aa6aead1001118adee243 (patch) | |
tree | e764420e454d01d1da8018d29d075fe32d9f2fdc | |
parent | f18a8f34e21b09a389e93114ae75375b53724b39 (diff) | |
download | thrift-303139410616ab3e580aa6aead1001118adee243.tar.gz |
THRIFT-5509: Suppress noisy log from go's TSimpleServer
Client: go
This is a follow up of 6f33b0470. After we proactively closed the client
connection, processor.Process could return NOT_OPEN as a result, and
those errors being logged will cause the log to be very noisy.
This will also be cherry-picked into 0.16.0 branch.
-rw-r--r-- | lib/go/thrift/simple_server.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/go/thrift/simple_server.go b/lib/go/thrift/simple_server.go index 563cbfc69..02863ec43 100644 --- a/lib/go/thrift/simple_server.go +++ b/lib/go/thrift/simple_server.go @@ -238,7 +238,7 @@ func (p *TSimpleServer) Stop() error { return nil } -// If err is actually EOF, return nil, otherwise return err as-is. +// If err is actually EOF or NOT_OPEN, return nil, otherwise return err as-is. func treatEOFErrorsAsNil(err error) error { if err == nil { return nil @@ -247,7 +247,11 @@ func treatEOFErrorsAsNil(err error) error { return nil } var te TTransportException - if errors.As(err, &te) && te.TypeId() == END_OF_FILE { + // NOT_OPEN returned by processor.Process is usually caused by client + // abandoning the connection (e.g. client side time out, or just client + // closes connections from the pool because of shutting down). + // Those logs will be very noisy, so suppress those logs as well. + if errors.As(err, &te) && (te.TypeId() == END_OF_FILE || te.TypeId() == NOT_OPEN) { return nil } return err |