Errors: context cancelled or context deadline exceeded are exposed as codes.Canceled, codes.DeadlineExceeded instead of 'codes.Unknown'

This commit is contained in:
Piotr Tabor
2021-04-22 12:57:23 +02:00
parent cc52d994b7
commit 9a4b2bdccc
4 changed files with 10 additions and 1 deletions

View File

@@ -50,7 +50,8 @@ func IsServerCtxTimeout(err error) bool {
return false
}
code := ev.Code()
return code == codes.DeadlineExceeded && strings.Contains(err.Error(), "context deadline exceeded")
return (code == codes.DeadlineExceeded /*3.5+"*/ || code == codes.Unknown /*<=3.4*/) &&
strings.Contains(err.Error(), "context deadline exceeded")
}
// IsClientTimeout checks reason of the error.