anton-vinogradov commented on code in PR #13095:
URL: https://github.com/apache/ignite/pull/13095#discussion_r3599158866


##########
modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheIoManager.java:
##########
@@ -1136,11 +1138,13 @@ public void send(ClusterNode node, GridCacheMessage 
msg, byte plc) throws Ignite
         if (log.isDebugEnabled())
             log.debug("Sending cache message [msg=" + msg + ", node=" + 
U.toShortString(node) + ']');
 
+        GridIoMessage ioMsg = cctx.gridIO().prepare(TOPIC_CACHE, msg, plc, 
false, 0, false);

Review Comment:
   Done — went further per your suggestion: the retry loop itself moved into 
the transport. `GridIoManager.sendWithRetry(node, topic, msg, ...)` prepares 
once and retries only the transmission, waiting `getNetworkSendRetryDelay()` 
between attempts; the caller supplies a `SendRetryPolicy` lambda (`onFailure(e, 
attempt)`) carrying the cache-level knowledge — liveness/ping checks, retry 
limit, stopping flag, logging. Both `GridCacheIoManager` loops are now 
one-liner policies, `prepare` is private, and `GridIoMessage` no longer leaves 
`GridIoManager`.



-- 
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