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)

Reply via email to