[ https://issues.apache.org/jira/browse/FLINK-10496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
eugen yushin updated FLINK-10496: --------------------------------- Description: *Business case:* Run Flink job cluster within Docker/k8s. Job takes an argument called `--config` which can't be recognized in runtime. {code:java} Caused by: java.lang.RuntimeException: No data for required key 'config' {code} *Problem statement:* Command line parser can't recognize job specific arguments when they have the same prefix as Flink's ones. e.g. [https://github.com/apache/flink/blob/master/flink-container/src/test/java/org/apache/flink/container/entrypoint/StandaloneJobClusterConfigurationParserFactoryTest.java#L52] the following args results in failure: {code:java} final String arg1 = "--config"; final String arg2 = "/path/to/job.yaml";{code} *Reason*: Apache CLI parser use string prefix matching to parse options and adds extra --configDir to result set instead of adding new --config. https://github.com/apache/commons-cli/blob/cli-1.3.1/src/main/java/org/apache/commons/cli/DefaultParser.java#L391 *Scope*: Update commons-cli dependency with version 1.5-SNAPSHOT which has flag to disable partial matching. https://github.com/apache/commons-cli/commit/bdb4a09ceaceab7e3d214b1beadb93bd9c911342 Update Flink's command line parser to utilize this feature. https://github.com/apache/flink/blob/6258a4c333ce9dba914621b13eac2f7d91f5cb72/flink-runtime/src/main/java/org/apache/flink/runtime/entrypoint/parser/CommandLineParser.java#L45 was: *Business case:* Run Flink job cluster within Docker/k8s. Job takes an argument called `--config` which can't be recognized in runtime. {code:java} Caused by: java.lang.RuntimeException: No data for required key 'config' {code} *Problem statement:* Command line parser can't recognize job specific arguments when they have the same prefix as Flink's ones. e.g. [https://github.com/apache/flink/blob/master/flink-container/src/test/java/org/apache/flink/container/entrypoint/StandaloneJobClusterConfigurationParserFactoryTest.java#L52] the following args results in failure: {code:java} final String arg1 = "--config"; final String arg2 = "/path/to/job.yaml";{code} *Reason*: Apache CLI parser use string prefix matching to parse options and adds extra --configDir to result set instead of adding new --config. https://github.com/apache/commons-cli/blob/cli-1.3.1/src/main/java/org/apache/commons/cli/DefaultParser.java#L391 *Scope*: Update commons-cli dependency with version 1.4 which has flag to disable partial matching. https://github.com/apache/commons-cli/commit/bdb4a09ceaceab7e3d214b1beadb93bd9c911342 Update Flink's command line parser to utilize this feature. https://github.com/apache/flink/blob/6258a4c333ce9dba914621b13eac2f7d91f5cb72/flink-runtime/src/main/java/org/apache/flink/runtime/entrypoint/parser/CommandLineParser.java#L45 > CommandLineParser arguments interleaving > ---------------------------------------- > > Key: FLINK-10496 > URL: https://issues.apache.org/jira/browse/FLINK-10496 > Project: Flink > Issue Type: Bug > Components: Configuration, Core, Docker, Java API > Affects Versions: 1.6.1, 1.7.0 > Reporter: eugen yushin > Assignee: eugen yushin > Priority: Major > Labels: pull-request-available > > *Business case:* > Run Flink job cluster within Docker/k8s. Job takes an argument called > `--config` which can't be recognized in runtime. > {code:java} > Caused by: java.lang.RuntimeException: No data for required key 'config' > {code} > *Problem statement:* > Command line parser can't recognize job specific arguments when they have the > same prefix as Flink's ones. > e.g. > [https://github.com/apache/flink/blob/master/flink-container/src/test/java/org/apache/flink/container/entrypoint/StandaloneJobClusterConfigurationParserFactoryTest.java#L52] > the following args results in failure: > {code:java} > final String arg1 = "--config"; > final String arg2 = "/path/to/job.yaml";{code} > *Reason*: > Apache CLI parser use string prefix matching to parse options and adds extra > --configDir to result set instead of adding new --config. > https://github.com/apache/commons-cli/blob/cli-1.3.1/src/main/java/org/apache/commons/cli/DefaultParser.java#L391 > *Scope*: > Update commons-cli dependency with version 1.5-SNAPSHOT which has flag to > disable partial matching. > https://github.com/apache/commons-cli/commit/bdb4a09ceaceab7e3d214b1beadb93bd9c911342 > Update Flink's command line parser to utilize this feature. > https://github.com/apache/flink/blob/6258a4c333ce9dba914621b13eac2f7d91f5cb72/flink-runtime/src/main/java/org/apache/flink/runtime/entrypoint/parser/CommandLineParser.java#L45 -- This message was sent by Atlassian JIRA (v7.6.3#76005)