summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuxuan 'fishy' Wang <yuxuan.wang@reddit.com>2022-02-08 15:07:31 -0800
committerYuxuan 'fishy' Wang <yuxuan.wang@reddit.com>2022-02-08 16:40:47 -0800
commit303139410616ab3e580aa6aead1001118adee243 (patch)
treee764420e454d01d1da8018d29d075fe32d9f2fdc
parentf18a8f34e21b09a389e93114ae75375b53724b39 (diff)
downloadthrift-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.go8
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