in azkustodata/errors/errors.go [179:206]
func Retry(err error) bool {
var e *Error
if errors.As(err, &e) {
// e.permanent can be set multiple ways. If it is true, you can never retry.
// If it is false, it does not necessarily mean anything, you have to go a little further.
if e.permanent {
return false
}
switch e.Kind {
case KOther, KIO, KInternal, KDBNotExist, KLimitsExceeded, KClientArgs, KLocalFileSystem:
return false
case KHTTPError:
m := e.UnmarshalREST()
if m != nil {
if e.permanent {
return false
}
}
}
if e.inner != nil {
return Retry(e.inner)
}
return true
}
return false
}