ifesdjeen commented on code in PR #3458:
URL: https://github.com/apache/cassandra/pull/3458#discussion_r1721527045
##########
src/java/org/apache/cassandra/tcm/RemoteProcessor.java:
##########
@@ -148,6 +148,30 @@ public ClusterMetadata fetchLogAndWait(Epoch waitFor,
Retry.Deadline retryPolicy
}
}
+ @Override
+ public LogState reconstruct(Epoch lowEpoch, Epoch highEpoch,
Retry.Deadline retryPolicy)
+ {
+ try
+ {
+ Promise<LogState> request = new AsyncPromise<>();
+ List<InetAddressAndPort> candidates = new
ArrayList<>(log.metadata().fullCMSMembers());
+ sendWithCallbackAsync(request,
+ Verb.TCM_RECONSTRUCT_EPOCH_REQ,
+ new ReconstructLogState(lowEpoch, highEpoch),
+ new CandidateIterator(candidates),
+ new
Retry.Backoff(TCMMetrics.instance.fetchLogRetries));
+ return request.get(retryPolicy.remainingNanos(),
TimeUnit.NANOSECONDS);
Review Comment:
I just meant that it will be used during bootstraps in order to let the
bootstrapping node reconstruct in-progress epochs, and there usually should be
only few of them. If you expand a larger cluster, you may get as many requests
as bootstrapping nodes, but I would argue this is still not really bursty, this
is a very small number of requests proportional to the size of the cluster.
--
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]