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]

Reply via email to