You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Weike Dong (Jira)" <ji...@apache.org> on 2022/08/23 11:24:00 UTC

[jira] [Created] (FLINK-29084) Program argument containing # (pound sign) mistakenly truncated in Kubernetes mode

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)