enforce to close accepted connection after processing
Client: go
Patch: Jun.S.Shen <jun.s.shen@oracle.com

This closes #2883
diff --git a/lib/go/thrift/simple_server.go b/lib/go/thrift/simple_server.go
index a8634fc..a7d15f9 100644
--- a/lib/go/thrift/simple_server.go
+++ b/lib/go/thrift/simple_server.go
@@ -205,12 +205,14 @@
 		return 0, err
 	}
 	if client != nil {
+
 		ctx, cancel := context.WithCancel(context.Background())
 		p.wg.Add(2)
 
 		go func() {
 			defer p.wg.Done()
 			defer cancel()
+			defer client.Close()
 			if err := p.processRequests(client); err != nil {
 				ctx := p.logContext.Load()
 				slog.ErrorContext(*ctx, "error processing request", "err", err)
@@ -366,13 +368,7 @@
 
 		ok, err := processor.Process(ctx, inputProtocol, outputProtocol)
 		if errors.Is(err, ErrAbandonRequest) {
-			err := client.Close()
-			if errors.Is(err, net.ErrClosed) {
-				// In this case, it's kinda expected to get
-				// net.ErrClosed, treat that as no-error
-				return nil
-			}
-			return err
+			return nil
 		}
 		if errors.As(err, new(TTransportException)) && err != nil {
 			return err