{"record":{"id":"165fcd54dccdebff","repo":"apache/seatunnel","slug":"seatunnel-job-on-flink-engine-submitted-target-onl","errorCode":null,"errorMessage":"SeaTunnel job on flink engine submitted target only support these options: [local, remote, yarn-session, yarn-per-job, kubernetes-session, yarn-application, kubernetes-application]","messagePattern":"SeaTunnel job on flink engine submitted target only support these options: \\[local, remote, yarn-session, yarn-per-job, kubernetes-session, yarn-application, kubernetes-application\\]","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"seatunnel-core/seatunnel-flink-starter/seatunnel-flink-starter-common/src/main/java/org/apache/seatunnel/core/starter/flink/args/FlinkCommandArgs.java","lineNumber":110,"sourceCode":"        private static final List<MasterType> MASTER_TYPE_LIST = new ArrayList<>();\n\n        static {\n            MASTER_TYPE_LIST.add(MasterType.LOCAL);\n            MASTER_TYPE_LIST.add(MasterType.REMOTE);\n            MASTER_TYPE_LIST.add(MasterType.YARN_SESSION);\n            MASTER_TYPE_LIST.add(MasterType.YARN_PER_JOB);\n            MASTER_TYPE_LIST.add(MasterType.KUBERNETES_SESSION);\n            MASTER_TYPE_LIST.add(MasterType.YARN_APPLICATION);\n            MASTER_TYPE_LIST.add(MasterType.KUBERNETES_APPLICATION);\n        }\n\n        @Override\n        public MasterType convert(String value) {\n            MasterType masterType = MasterType.valueOf(value.toUpperCase().replaceAll(\"-\", \"_\"));\n            if (MASTER_TYPE_LIST.contains(masterType)) {\n                return masterType;\n            } else {\n                throw new IllegalArgumentException(\n                        \"SeaTunnel job on flink engine submitted target only \"\n                                + \"support these options: [local, remote, yarn-session, yarn-per-job, kubernetes-session, \"\n                                + \"yarn-application, kubernetes-application]\");\n            }\n        }\n    }\n\n    public static class FlinkDeployModeConverter implements IStringConverter<DeployMode> {\n        private static final List<DeployMode> DEPLOY_MODE_TYPE_LIST = new ArrayList<>();\n\n        static {\n            DEPLOY_MODE_TYPE_LIST.add(DeployMode.RUN);\n            DEPLOY_MODE_TYPE_LIST.add(DeployMode.RUN_APPLICATION);\n        }\n\n        @Override\n        public DeployMode convert(String value) {\n            DeployMode deployMode = DeployMode.valueOf(value.toUpperCase().replaceAll(\"-\", \"_\"));","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-core/seatunnel-flink-starter/seatunnel-flink-starter-common/src/main/java/org/apache/seatunnel/core/starter/flink/args/FlinkCommandArgs.java#L92-L128","documentation":"IllegalArgumentException thrown by FlinkCommandArgs' MasterTypeConverter.convert when the -m/--master (deploy target) CLI argument is not one of the supported Flink master types. The converter parses the value into the MasterType enum and then checks membership in MASTER_TYPE_LIST before accepting it.","triggerScenarios":"Running the Flink starter client with an unsupported master value, e.g. `seatunnel.sh --master local2` or `-m kubernetes` (instead of kubernetes-session/application); valueOf succeeds after dash normalization but the membership check fails.","commonSituations":"Typo in the master argument; copying Spark-style targets (e.g. yarn-standalone) to Flink; forgetting that Flink accepts session/application variants only.","solutions":["Pass one of: local, remote, yarn-session, yarn-per-job, kubernetes-session, yarn-application, kubernetes-application","Check `--help` output of the Flink client for accepted -m values","Replace dashes with the documented spelling (conversion also tolerates dashes, e.g. yarn-per-job)"],"exampleFix":"# before\n--master yarn-standalone\n# after\n--master yarn-session","handlingStrategy":"validation","validationCode":"Set<String> allowed = Set.of(\"local\",\"remote\",\"yarn-session\",\"yarn-per-job\",\"kubernetes-session\",\"yarn-application\",\"kubernetes-application\");\nif (!allowed.contains(masterArg)) {\n    throw new IllegalArgumentException(\"Unsupported --master: \" + masterArg);\n}","typeGuard":null,"tryCatchPattern":"try {\n    args = FlinkCommandArgsBuilder.build(rawArgs);\n} catch (IllegalArgumentException e) {\n    System.err.println(\"Invalid --master: \" + e.getMessage());\n}","preventionTips":["Only pass documented -m values listed in seatunnel.sh --help","Never copy Spark master values to the Flink client","Pin client scripts to the supported master list"],"tags":["cli","flink","arguments"],"backgroundTag":"invalid-cli-argument","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}