zentol commented on a change in pull request #17474:
URL: https://github.com/apache/flink/pull/17474#discussion_r728946703
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/Dispatcher.java
##########
@@ -683,19 +689,79 @@ JobManagerRunner createJobManagerRunner(JobGraph
jobGraph, long initializationTi
jobID, gateway -> gateway.triggerCheckpoint(timeout));
}
+ private final CompletedOperationCache<AsynchronousJobOperationKey, String>
+ savepointOperationCache = new CompletedOperationCache<>();
+
@Override
- public CompletableFuture<String> triggerSavepoint(
+ // TODO: this needs to return a future which gets complete once the
savepoint is actually
+ // TODO: triggered; if complete reutrn 204 ACCEPTED, on error handle them
+ // TODO: / we may need a separate versions of this method for
+ // TODO: the REST API / (job client / minicluster), which _may_ need to
wired down to the
+ // TODO: JobMaster
+ public CompletableFuture<Acknowledge> triggerSavepoint(
final JobID jobId,
final String targetDirectory,
final boolean cancelJob,
+ TriggerId operationId,
final Time timeout) {
+ AsynchronousJobOperationKey operationKey =
+ AsynchronousJobOperationKey.of(operationId, jobId);
+ Optional<OperationResult<String>> existingTriggerResultOptional =
+ savepointOperationCache.get(operationKey);
+
+ if (existingTriggerResultOptional.isEmpty()) {
Review comment:
The only thing that should remain in the dispatcher is a check against
said component for ongoing operations, and then the triggering of the savepoint.
--
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]