rpc: treat protocol handshake errors as permanent

treat handshake errors as permanent on the client

The issue was observed by 100% CPU usage due to lack ofrate-limiting in
dataconn.ReqPing retries=> safeguard that
This commit is contained in:
Christian Schwarz
2019-03-15 15:59:47 +01:00
parent 7584c66bdb
commit ab3e783168
4 changed files with 20 additions and 6 deletions
+2 -2
View File
@@ -7,10 +7,10 @@ package transportmux
import (
"context"
"fmt"
"io"
"net"
"time"
"fmt"
"github.com/zrepl/zrepl/logger"
"github.com/zrepl/zrepl/transport"
@@ -111,7 +111,7 @@ func Demux(ctx context.Context, rawListener transport.AuthenticatedListener, lab
if ctx.Err() != nil {
return
}
getLog(ctx).WithError(err).Error("accept error")
getLog(ctx).WithError(err).WithField("errType", fmt.Sprintf("%T", err)).Error("accept error")
continue
}
closeConn := func() {