xintongsong commented on a change in pull request #10146:
[FLINK-14188][runtime] TaskExecutor derive and register with default slot
resource profile
URL: https://github.com/apache/flink/pull/10146#discussion_r354086571
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/clusterframework/TaskExecutorResourceUtils.java
##########
@@ -526,7 +545,8 @@ private static CPUResource getCpuCores(final Configuration
config) {
}
return new CPUResource(cpuCores);
} else {
- return new
CPUResource(config.getInteger(TaskManagerOptions.NUM_TASK_SLOTS));
+ final BigDecimal defaultSlotFraction =
getDefaultSlotFraction(config);
+ return new
CPUResource(BigDecimal.valueOf(1.0).divide(defaultSlotFraction, 16,
RoundingMode.DOWN).doubleValue());
Review comment:
True, we should avoid the back and forth conversions.
And for `CPUResource`, I guess what you mean is to avoid having public
constructors and factory methods at the same time? We need a private
constructor anyway if we want to use factory methods.
And I'm not sure whether we need to describe the value type in the name of
factory methods. We can simply have factory methods with different argument
type, like `create(BigDecimal)` and `create(double)`. So the factory of double
type stays the same name as the overridden methods in its super class.
----------------------------------------------------------------
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:
[email protected]
With regards,
Apache Git Services