Mansi Khara created CASSSIDECAR-464:
---------------------------------------
Summary: Add a blocking await-phase-completion endpoint to replace
the tight polling loop in Analytics
Key: CASSSIDECAR-464
URL: https://issues.apache.org/jira/browse/CASSSIDECAR-464
Project: Sidecar for Apache Cassandra
Issue Type: Improvement
Reporter: Mansi Khara
Assignee: Mansi Khara
CoordinatedImportCoordinator.pollForPhaseCompletion() polls all clusters at ~1
request/second for the entire duration of each phase, generating sustained load
regardless of actual phase length. Add a blocking awaitPhaseCompletion endpoint
to Sidecar (RestoreJobProgressHandler) that suspends the Vert.x handler on a
per-job CompletableFuture — maintained by RestoreProcessor and completed when
the last range in the phase finishes — and responds the moment the consistency
level is satisfied. The endpoint accepts a caller-supplied timeout and returns
a retry signal on expiry. Update CoordinatedImportCoordinator and
CoordinatedCloudStorageDataTransferApi in Analytics to replace the tight loop
with a single blocking call per cluster per phase (suggested timeout: 30
seconds). This improvement is most effective once the direct wakeup, fast
status loop, and signal fan-out changes are already in place; without those,
the long-poll suspends for the full detection gap before the underlying future
completes.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]