zentol commented on code in PR #22296:
URL: https://github.com/apache/flink/pull/22296#discussion_r1153107044
##########
flink-runtime/src/main/java/org/apache/flink/runtime/dispatcher/Dispatcher.java:
##########
@@ -1115,6 +1123,45 @@ private void checkJobClientAliveness() {
}
}
+ @Override
+ public CompletableFuture<JobResourceRequirements>
requestJobResourceRequirements(JobID jobId) {
+ return performOperationOnJobMasterGateway(
+ jobId, JobMasterGateway::requestJobResourceRequirements);
+ }
+
+ @Override
+ public CompletableFuture<Acknowledge> updateJobResourceRequirements(
+ JobID jobId, JobResourceRequirements jobResourceRequirements) {
+ if (!pendingJobResourceRequirementsUpdates.add(jobId)) {
+ return FutureUtils.completedExceptionally(
+ new ConcurrentModificationException(
+ "Another update to the job [%s] resource
requirements is in progress."));
+ }
+ return performOperationOnJobMasterGateway(
+ jobId,
+ jobMasterGateway ->
+ jobMasterGateway.updateJobResourceRequirements(
+ jobResourceRequirements))
+ .thenApplyAsync(
+ ack -> {
+ try {
+ jobGraphWriter.putJobResourceRequirements(
+ jobId, jobResourceRequirements);
+ } catch (Exception e) {
+ throw new CompletionException(
+ "We could not persist the resource
requirements."
+ + " They're in effect, but we
might not be able"
+ + " to recover them after
failover. Please retry.",
+ e);
+ }
+ return ack;
Review Comment:
I will move the validation to the rest handlers, and while I'm at it also
fix FLINK-31672.
Since the rest handlers will be added in the next PR, would it be alright to
keep it as-is for now and change this later?
I don't want to change the JobMaster interface now to support this order of
operations only to remove it in the very next PR.
--
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]