{"record":{"id":"49b1f6ecbd8b8e30","repo":"apache/seatunnel","slug":"execute-flink-job-error","errorCode":null,"errorMessage":"Execute Flink job error","messagePattern":"Execute Flink job error","errorType":"exception","errorClass":"TaskExecuteException","httpStatus":null,"severity":"error","filePath":"seatunnel-core/seatunnel-flink-starter/seatunnel-flink-starter-common/src/main/java/org/apache/seatunnel/core/starter/flink/execution/FlinkExecution.java","lineNumber":168,"sourceCode":"        }\n        try {\n            final long jobStartTime = System.currentTimeMillis();\n            JobExecutionResult jobResult =\n                    flinkRuntimeEnvironment\n                            .getStreamExecutionEnvironment()\n                            .execute(flinkRuntimeEnvironment.getJobName());\n            final long jobEndTime = System.currentTimeMillis();\n\n            final FlinkJobMetricsSummary jobMetricsSummary =\n                    FlinkJobMetricsSummary.builder()\n                            .jobExecutionResult(jobResult)\n                            .jobStartTime(jobStartTime)\n                            .jobEndTime(jobEndTime)\n                            .build();\n\n            LOGGER.info(\"Job finished, execution result: \\n{}\", jobMetricsSummary);\n        } catch (Exception e) {\n            throw new TaskExecuteException(\"Execute Flink job error\", e);\n        }\n    }\n\n    private void registerPlugin(Config envConfig) {\n        List<Path> thirdPartyJars = new ArrayList<>();\n        if (envConfig.hasPath(EnvCommonOptions.JARS.key())) {\n            thirdPartyJars =\n                    new ArrayList<>(\n                            Common.getThirdPartyJars(\n                                    envConfig.getString(EnvCommonOptions.JARS.key())));\n        }\n        thirdPartyJars.addAll(Common.getPluginsJarDependenciesWithoutConnectorDependency());\n        List<URL> jarDependencies =\n                Stream.concat(thirdPartyJars.stream(), Common.getLibJars().stream())\n                        .map(Path::toUri)\n                        .map(\n                                uri -> {\n                                    try {","sourceCodeStart":150,"sourceCodeEnd":186,"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/execution/FlinkExecution.java#L150-L186","documentation":"FlinkExecution.execute runs the whole plugin execution pipeline (source/transform/sink processors and env.execute) inside one try block; any exception thrown during Flink job execution is wrapped in a TaskExecuteException with the generic message 'Execute Flink job error' while preserving the cause.","triggerScenarios":"Any failure during Flink job submission/execution: invalid job config, connector init failure, Flink cluster rejection, task runtime exceptions, or missing Flink dependencies.","commonSituations":"Flink cluster unavailable or rejecting submission; connector configuration errors surfacing at runtime; serialization issues in user transforms; checkpoint failures.","solutions":["Read the wrapped 'Caused by' exception for the real root cause","Validate the job config against the connector documentation before submitting","Confirm the Flink cluster is reachable and has sufficient slots/resources","Run the job locally (-e local) to isolate cluster vs config problems"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n    flinkExecution.execute();\n} catch (TaskExecuteException e) {\n    Throwable root = e;\n    while (root.getCause() != null) root = root.getCause();\n    log.error(\"Flink job failed, root cause: \", root);\n}","preventionTips":["Always unwrap 'Caused by' before diagnosing","Validate job config against connector docs before submitting","Check Flink cluster availability/slots first for flaky environments","Test with -e local to isolate cluster issues"],"tags":["flink","job-execution","wrapped-exception"],"backgroundTag":"job-execution-failed","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"}