Copilot commented on code in PR #7955:
URL: https://github.com/apache/ignite-3/pull/7955#discussion_r3078952296
##########
modules/platforms/dotnet/Apache.Ignite/Internal/ClientFailoverSocket.cs:
##########
@@ -881,6 +881,12 @@ private bool ShouldRetry(Exception exception, ClientOp op,
int attempt, IRetryPo
return false;
}
+ if (e is IgniteException { GroupCode:
ErrorGroups.Authentication.GroupCode })
+ {
+ // Authentication errors should not be retried.
+ return false;
+ }
Review Comment:
`ShouldRetry` stops scanning the exception chain as soon as it finds a
connection error, then only checks that top-level connection exception for the
authentication group. This misses cases where an authentication failure is
wrapped inside an `IgniteClientConnectionException` with `Code =
ErrorGroups.Client.Connection` (e.g., heartbeat failure path wraps any server
exception into a connection exception), so the client can still
retry/authenticate repeatedly with bad credentials. Consider scanning the full
exception/inner-exception chain for `IgniteException` in the Authentication
group (before or after the connection-error detection) and returning `false`
when found, instead of checking only `e`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]