azagrebin commented on a change in pull request #11245:
URL: https://github.com/apache/flink/pull/11245#discussion_r442909865
##########
File path:
flink-kubernetes/src/main/java/org/apache/flink/kubernetes/configuration/KubernetesConfigOptions.java
##########
@@ -137,11 +138,17 @@
.withDescription("The cluster-id, which should be no more than
45 characters, is used for identifying " +
"a unique Flink cluster. If not set, the client will
automatically generate it with a random ID.");
+ // The default container image that ties to the exact needed versions
of both Flink and Scala.
+ public static final String DEFAULT_CONTAINER_IMAGE = "flink:" +
EnvironmentInformation.getVersion() + "-scala_" +
EnvironmentInformation.getScalaVersion();
+
public static final ConfigOption<String> CONTAINER_IMAGE =
key("kubernetes.container.image")
.stringType()
- .defaultValue("flink:latest")
- .withDescription("Image to use for Flink containers.");
+ .defaultValue(DEFAULT_CONTAINER_IMAGE)
+ .withDescription("Image to use for Flink containers. " +
+ "The specified image MUST be based upon Apache Flink " +
+ EnvironmentInformation.getVersion() + " that uses Scala
" + EnvironmentInformation.getScalaVersion() + " . " +
Review comment:
What is the use case of the image's `ConfigOption#defaultValue` in the
user code during runtime? A separate
`ConfigOption#defaultValueForDocumentation` would make sense if there is a good
reason that the user code needs the actual value with Scala version from
`ConfigOption#defaultValue` during runtime. From what I see atm, Flink code
does not necessarily need it.
Flink uses `ConfigOption#defaultValue` to generate web documentation which
should not "flip flop" but Flink does not have to use
`ConfigOption#defaultValue` for the actual default value during runtime. The
actual default value can be derived by Flink code from Flink and Scala version
(same as `ConfigOption#defaultValue` was implemented now) in runtime if user
has not configured it explicitly (`configuration.contains("image.option") ==
false`).
----------------------------------------------------------------
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]