[ https://issues.apache.org/jira/browse/FLINK-29084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17583530#comment-17583530 ]
Weike Dong commented on FLINK-29084: ------------------------------------ One possible solution is to base64-encode the program arguments and decode them later, but we may need to change _flink-clients_ module as well, like _org.apache.flink.client.deployment.application.ApplicationConfiguration#applyToConfiguration_ and {_}org.apache.flink.client.deployment.application.ApplicationConfiguration#fromConfiguration{_}. Hi [~wangyang0918] do you have time to have a look at this issue? Thanks : ) > 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.13.6, 1.14.5, 1.15.1 > Environment: Flink 1.13.6 > Native Kubernetes (Application Mode) > Reporter: Weike Dong > Priority: Minor > > 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)