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]