bdeggleston commented on code in PR #4897:
URL: https://github.com/apache/cassandra/pull/4897#discussion_r3574965677


##########
src/java/org/apache/cassandra/replication/MutationTrackingService.java:
##########
@@ -1550,6 +1613,49 @@ private InetAddressAndPort findAliveReplica(Shard shard, 
int excludeHostId)
             }
             return null;
         }
+
+        /**
+         * MT_PULL_MUTATIONS_REQ is a one-way verb (no response). The callback 
registered with
+         * {@link MessagingService#sendWithCallback} fires on send-layer 
failures (queue overload,
+         * serialization error, closed connection) and on the eventual TIMEOUT 
after
+         * {@code readTimeout} expires. We treat TIMEOUT as benign (a one-way 
verb never produces
+         * a response) and only react to genuine send failures by clearing the 
cooldown entry,
+         * so the next reconciliation tick can retry without waiting for the 
cooldown to expire.
+         */
+        private final class PullRequestFailureCallback implements 
RequestCallback<NoPayload>

Review Comment:
   I think that updating the `lastRequestedAt` map after giving the message to 
the the messaging service is probably good enough for catching problems. WDYT?



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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to