ptupitsyn commented on code in PR #1135:
URL: https://github.com/apache/ignite-3/pull/1135#discussion_r984206356
##########
modules/client/src/main/java/org/apache/ignite/internal/client/ReliableChannel.java:
##########
@@ -583,8 +588,14 @@ private ClientChannel getDefaultChannel() {
private boolean shouldRetry(int opCode, int iteration,
IgniteClientConnectionException exception) {
ClientOperationType opType =
ClientUtils.opCodeToClientOperationType(opCode);
+ return shouldRetry(opType, iteration, exception);
+ }
+
+ /** Determines whether specified operation should be retried. */
+ private boolean shouldRetry(ClientOperationType opType, int iteration,
IgniteClientConnectionException exception) {
if (opType == null) {
- return true; // System operation.
+ // System operation.
+ return iteration < RetryLimitPolicy.DFLT_RETRY_LIMIT;
Review Comment:
Yes, for system operations, for example, `PARTITION_ASSIGNMENT_GET` and
`SCHEMAS_GET`. On one hand, we don't want to expose those implementation
details in the public API (`ClientOperationType`); on the other hand, retry for
those things can not be tuned in config this way. Thoughts?
--
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]