Ignore "connection reset" errors while initializing the targets with queue store enabled (#8185)

Fixes #8178
This commit is contained in:
Praveen raj Mani
2019-09-06 02:25:48 +05:30
committed by Harshavardhana
parent 259a5d825b
commit 428836d4e1
6 changed files with 12 additions and 8 deletions

View File

@@ -93,8 +93,12 @@ func IsConnRefusedErr(err error) bool {
return false
}
// isConnResetErr - Checks for connection reset errors.
func isConnResetErr(err error) bool {
// IsConnResetErr - Checks for connection reset errors.
func IsConnResetErr(err error) bool {
if strings.Contains(err.Error(), "connection reset by peer") {
return true
}
// incase if error message is wrapped.
if opErr, ok := err.(*net.OpError); ok {
if syscallErr, ok := opErr.Err.(*os.SyscallError); ok {
if syscallErr.Err == syscall.ECONNRESET {
@@ -117,7 +121,7 @@ func sendEvents(target event.Target, eventKeyCh <-chan string, doneCh <-chan str
break
}
if err != errNotConnected && !isConnResetErr(err) {
if err != errNotConnected && !IsConnResetErr(err) {
panic(fmt.Errorf("target.Send() failed with '%v'", err))
}