huwh commented on code in PR #22169:
URL: https://github.com/apache/flink/pull/22169#discussion_r1147098151


##########
flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/AdaptiveScheduler.java:
##########
@@ -730,15 +748,49 @@ public CompletableFuture<CoordinationResponse> 
deliverCoordinationRequestToCoord
                                                         + " does not exist")));
     }
 
+    @Override
+    public JobResourceRequirements requestJobResourceRequirements() {
+        final JobResourceRequirements.Builder builder = 
JobResourceRequirements.newBuilder();
+        for (JobInformation.VertexInformation vertex : 
jobInformation.getVertices()) {
+            builder.setParallelismForJobVertex(vertex.getJobVertexID(), 1, 
vertex.getParallelism());
+        }
+        return builder.build();
+    }
+
+    @Override
+    public void updateJobResourceRequirements(JobResourceRequirements 
jobResourceRequirements) {
+        if (executionMode == SchedulerExecutionMode.REACTIVE) {
+            throw new UnsupportedOperationException(
+                    "Cannot change the parallelism of a job running in 
reactive mode.");
+        }
+        final Optional<VertexParallelismStore> 
maybeUpdateVertexParallelismStore =
+                DefaultVertexParallelismStore.applyJobResourceRequirements(
+                        jobInformation.getVertexParallelismStore(), 
jobResourceRequirements);
+        if (maybeUpdateVertexParallelismStore.isPresent()) {
+            this.jobInformation =
+                    new JobGraphJobInformation(jobGraph, 
maybeUpdateVertexParallelismStore.get());

Review Comment:
   IMO, when trigger scales down, it means jobs don't need as many resources.
   About speeding up rescale operation. To scale down, throwing away task 
managers or keeping them will not affect the speed of scale. To scale up, I 
think it's better to let SlotManager/ResourceManager reserve some resources, so 
Scheduler and SlotPool just need to declare their resource requirements.
   
   Please correct me if I am wrong.



-- 
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]

Reply via email to