dcapwell commented on code in PR #3656:
URL: https://github.com/apache/cassandra/pull/3656#discussion_r1830208620
##########
src/java/org/apache/cassandra/service/accord/AccordService.java:
##########
@@ -568,6 +570,46 @@ public static List<ClusterMetadata> tcmLoadRange(long min,
long max)
return afterLoad;
}
+ /**
+ * This method exists due to the fact that we define a retry policy for
TCM to follow, and then TCM ignores it and does no retries...
+ */
+ private static List<ClusterMetadata> reconstruct(long min, long max)
+ {
+ Epoch start = Epoch.create(min);
+ Epoch end = Epoch.create(max);
+ Retry.Deadline retryPolicyThatGetsIgnored =
Retry.Deadline.retryIndefinitely(DatabaseDescriptor.getCmsAwaitTimeout().to(NANOSECONDS),
+
TCMMetrics.instance.fetchLogRetries);
+ Throwable lastError = null;
+ Backoff backoff = new Backoff.ExponentialBackoff(42, 200,
SECONDS.toMillis(1), ThreadLocalRandom.current()::nextDouble);
Review Comment:
I added a new `ExponentialBackoff` in retry to get the semantics I want
(which delegates to `Backoff.ExponentialBackoff`)
I removed retry param from `getLocal` as no impl defines
I added retry on `RuntimeException` for paxos processor
--
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]