xintongsong commented on a change in pull request #9910: [FLINK-14405][runtime] 
Align ResourceProfile/ResourceSpec fields with the new TaskExecutor memory 
setups.
URL: https://github.com/apache/flink/pull/9910#discussion_r335790615
 
 

 ##########
 File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/types/ResourceProfile.java
 ##########
 @@ -51,11 +52,19 @@
 
        private static final long serialVersionUID = 1L;
 
-       /** A ResourceProfile that indicates an unknown set of resources. */
+       /**
+        * A ResourceProfile that indicates an unknown resource requirement.
+        * This is mainly used for describing resource requirements that the 
exact amount of resource needed is not specified.
+        * It can also be used for describing remaining resource of a multi 
task slot that contains tasks with unknown resource requirements.
+        * It should not used for describing total resource of a task executor 
/ slot, which should always be specific.
+        * */
        public static final ResourceProfile UNKNOWN = new ResourceProfile();
 
-       /** ResourceProfile which matches any other ResourceProfile. */
-       public static final ResourceProfile ANY = new 
ResourceProfile(Double.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, 
Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, 
Collections.emptyMap());
+       /**
+        * A ResourceProfile that indicates infinite resource that matches any 
resource requirement, for testability purpose only.
+        * */
+       @VisibleForTesting
+       public static final ResourceProfile INFINITE = new 
ResourceProfile(Double.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, 
Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE, 
Collections.emptyMap());
 
 Review comment:
   I think renaming `ANY` to `INFINITE` is indeed helpful. `ANY` is ambiguous. 
People may misunderstand this as "requesting a slot with any resource", and 
thus misuse it for requirements. I see this many times in maintaining our 
internal version, and whenever I correct them the new misusage comes out after 
a while.
   
   As for `UNKNOWN`, I was also considering renaming it to 
`UNKNOWN_REQUIREMENT`. Then I discovered that there's one case that it's not 
describing the resource requirement, but describing the unknown state of a 
slot. That is, as I explained in the javadocs, for describing remaining 
resources of a slot that already contains tasks with unknown resource 
requirements in slot sharing scenarios (`MultiTaskSlot#reservedResources`).

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to