Weike Dong created FLINK-29084:
----------------------------------
Summary: Program argument containing # (pound sign) mistakenly
truncated in Kubernetes mode
Key: FLINK-29084
URL: https://issues.apache.org/jira/browse/FLINK-29084
Project: Flink
Issue Type: Bug
Components: Deployment / Kubernetes
Affects Versions: 1.15.1, 1.14.5, 1.13.6
Environment: Flink 1.13.6
Native Kubernetes (Application Mode)
Reporter: Weike Dong
We have found that when submitting jobs in native-Kubernetes mode, the main
arguments of the Flink program would be truncated if it contains a # character.
For example, if we pass 'ab#cd' as the argument for Flink programs, Flink
actually gets only 'ab' from the variable `$internal.application.program-args`
at runtime.
After searching into the code, we found the reason might be that when
`org.apache.flink.kubernetes.kubeclient.decorators.FlinkConfMountDecorator#buildAccompanyingKubernetesResources`
transform Flink config data `Map` into `ConfigMap`, fabric8 Kubernetes client
converts it to YAML internally, without any escaping procedures. Afterwards,
when there is a # character in the YAML line, the decoder treats it as the
start of a comment, thus the substring after the # character is ignored
erroneously.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)