WYPOWLS opened a new issue, #16086: URL: https://github.com/apache/dolphinscheduler/issues/16086
### Search before asking - [X] I had searched in the [issues](https://github.com/apache/dolphinscheduler/issues?q=is%3Aissue) and found no similar issues. ### What happened In sql function, when querying data for data deletion using oracel, using the built-in parameter ${system.biz.date} is invalid. ### What you expected to happen Query the data. ### How to reproduce Using the sql module and then the oracle datasource, it is possible to compound the line ### Anything else Using the sql module and then the oracle datasource, it is possible to compound the line  [LOG-PATH]: /home/dolphinscheduler/dolphinscheduler/worker-server/logs/20240529/13241379018752/12/7585/8759.log, [HOST]: 172.20.130.14:1234 [INFO] 2024-05-29 08:54:02.031 +0800 - *********************************************************************************************** [INFO] 2024-05-29 08:54:02.032 +0800 - ********************************* Initialize task context *********************************** [INFO] 2024-05-29 08:54:02.032 +0800 - *********************************************************************************************** [INFO] 2024-05-29 08:54:02.032 +0800 - Begin to initialize task [INFO] 2024-05-29 08:54:02.032 +0800 - Set task startTime: 1716944042032 [INFO] 2024-05-29 08:54:02.032 +0800 - Set task appId: 7585_8759 [INFO] 2024-05-29 08:54:02.033 +0800 - End initialize task { "taskInstanceId" : 8759, "taskName" : "gdfgd", "firstSubmitTime" : 1716944042023, "startTime" : 1716944042032, "taskType" : "SQL", "workflowInstanceHost" : "172.20.130.14:5678", "host" : "172.20.130.14:1234", "logPath" : "/home/dolphinscheduler/dolphinscheduler/worker-server/logs/20240529/13241379018752/12/7585/8759.log", "processId" : 0, "processDefineCode" : 13241379018752, "processDefineVersion" : 12, "processInstanceId" : 7585, "scheduleTime" : 0, "executorId" : 2, "cmdTypeIfComplement" : 0, "tenantCode" : "dolphinscheduler", "processDefineId" : 0, "projectId" : 0, "projectCode" : 13078501267072, "taskParams" : "{\"localParams\":[],\"resourceList\":[],\"type\":\"ORACLE\",\"datasource\":5,\"sql\":\"select ${system.biz.date} from dual\",\"sqlType\":\"0\",\"preStatements\":[],\"postStatements\":[],\"displayRows\":10}", "environmentConfig" : "export DATAX_LAUNCHER=/home/dolphinscheduler/datax/bin/datax.py\nexport PYTHON_LAUNCHER=/home/dolphinscheduler/anaconda3/bin/python\nexport PATH=$PATH:$DATAX_LAUNCHER:$PYTHON_LAUNCHER", "prepareParamsMap" : { "system.task.definition.name" : { "prop" : "system.task.definition.name", "direct" : "IN", "type" : "VARCHAR", "value" : "gdfgd" }, "system.project.name" : { "prop" : "system.project.name", "direct" : "IN", "type" : "VARCHAR", "value" : null }, "system.project.code" : { "prop" : "system.project.code", "direct" : "IN", "type" : "VARCHAR", "value" : "13078501267072" }, "system.workflow.instance.id" : { "prop" : "system.workflow.instance.id", "direct" : "IN", "type" : "VARCHAR", "value" : "7585" }, "system.biz.curdate" : { "prop" : "system.biz.curdate", "direct" : "IN", "type" : "VARCHAR", "value" : "20240529" }, "system.biz.date" : { "prop" : "system.biz.date", "direct" : "IN", "type" : "VARCHAR", "value" : "20240528" }, "system.task.instance.id" : { "prop" : "system.task.instance.id", "direct" : "IN", "type" : "VARCHAR", "value" : "8759" }, "system.workflow.definition.name" : { "prop" : "system.workflow.definition.name", "direct" : "IN", "type" : "VARCHAR", "value" : "test" }, "system.task.definition.code" : { "prop" : "system.task.definition.code", "direct" : "IN", "type" : "VARCHAR", "value" : "13760937207264" }, "system.workflow.definition.code" : { "prop" : "system.workflow.definition.code", "direct" : "IN", "type" : "VARCHAR", "value" : "13241379018752" }, "system.datetime" : { "prop" : "system.datetime", "direct" : "IN", "type" : "VARCHAR", "value" : "20240529085402" } }, "taskAppId" : "7585_8759", "taskTimeout" : 2147483647, "workerGroup" : "default", "delayTime" : 0, "currentExecutionStatus" : "SUBMITTED_SUCCESS", "resourceParametersHelper" : { "resourceMap" : { "DATASOURCE" : { "5" : { "resourceType" : "DATASOURCE", "type" : "ORACLE", "connectionParams" : "{\"user\":\"jjr\",\"password\":\"***\",\"address\":\"jdbc:oracle:thin:@//172.20.128.18:1521\",\"database\":\"crmjxk\",\"jdbcUrl\":\"jdbc:oracle:thin:@//172.20.128.18:1521/crmjxk\",\"driverClassName\":\"oracle.jdbc.OracleDriver\",\"validationQuery\":\"select 1 from dual\",\"connectType\":\"ORACLE_SERVICE_NAME\"}", "DATASOURCE" : null } } } }, "endTime" : 0, "dryRun" : 0, "paramsMap" : { }, "cpuQuota" : -1, "memoryMax" : -1, "testFlag" : 0, "logBufferEnable" : false, "dispatchFailTimes" : 0 } [INFO] 2024-05-29 08:54:02.033 +0800 - *********************************************************************************************** [INFO] 2024-05-29 08:54:02.033 +0800 - ********************************* Load task instance plugin ********************************* [INFO] 2024-05-29 08:54:02.033 +0800 - *********************************************************************************************** [INFO] 2024-05-29 08:54:02.034 +0800 - Send task status RUNNING_EXECUTION master: 172.20.130.14:1234 [INFO] 2024-05-29 08:54:02.035 +0800 - TenantCode: dolphinscheduler check successfully [INFO] 2024-05-29 08:54:02.035 +0800 - WorkflowInstanceExecDir: /tmp/dolphinscheduler/exec/process/dolphinscheduler/13078501267072/13241379018752_12/7585/8759 check successfully [INFO] 2024-05-29 08:54:02.035 +0800 - Create TaskChannel: org.apache.dolphinscheduler.plugin.task.sql.SqlTaskChannel successfully [INFO] 2024-05-29 08:54:02.035 +0800 - Download resources successfully: ResourceContext(resourceItemMap={}) [INFO] 2024-05-29 08:54:02.035 +0800 - Download upstream files: [] successfully [INFO] 2024-05-29 08:54:02.035 +0800 - Initialize sql task parameter { "localParams" : [ ], "varPool" : null, "type" : "ORACLE", "datasource" : 5, "sql" : "select ${system.biz.date} from dual", "sqlType" : 0, "sendEmail" : null, "displayRows" : 10, "udfs" : null, "showType" : null, "connParams" : null, "preStatements" : [ ], "postStatements" : [ ], "groupId" : 0, "title" : null, "limit" : 0 } [INFO] 2024-05-29 08:54:02.035 +0800 - Task plugin instance: SQL create successfully [INFO] 2024-05-29 08:54:02.035 +0800 - Success initialized task plugin instance successfully [INFO] 2024-05-29 08:54:02.035 +0800 - Set taskVarPool: null successfully [INFO] 2024-05-29 08:54:02.035 +0800 - *********************************************************************************************** [INFO] 2024-05-29 08:54:02.036 +0800 - ********************************* Execute task instance ************************************* [INFO] 2024-05-29 08:54:02.036 +0800 - *********************************************************************************************** [INFO] 2024-05-29 08:54:02.036 +0800 - Full sql parameters: SqlParameters{type='ORACLE', datasource=5, sql='select ${system.biz.date} from dual', sqlType=0, sendEmail=null, displayRows=10, limit=0, udfs='null', showType='null', connParams='null', groupId='0', title='null', preStatements=[], postStatements=[]} [INFO] 2024-05-29 08:54:02.036 +0800 - sql type : ORACLE, datasource : 5, sql : select ${system.biz.date} from dual , localParams : [],udfs : null,showType : null,connParams : null,varPool : [] ,query max result limit 0 [ERROR] 2024-05-29 08:54:02.036 +0800 - sql task error com.alibaba.druid.sql.parser.ParserException: syntax errorpos 15, line 1, column 8, token SELECT at com.alibaba.druid.sql.dialect.oracle.parser.OracleLexer.scanVariable(OracleLexer.java:206) at com.alibaba.druid.sql.parser.Lexer.nextToken(Lexer.java:1251) at com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser.query(OracleSelectParser.java:262) at com.alibaba.druid.sql.parser.SQLSelectParser.query(SQLSelectParser.java:400) at com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser.select(OracleSelectParser.java:50) at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseStatementList(OracleStatementParser.java:96) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:102) at org.apache.dolphinscheduler.plugin.datasource.oracle.param.OracleDataSourceProcessor.splitAndRemoveComment(OracleDataSourceProcessor.java:153) at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.handle(SqlTask.java:137) at org.apache.dolphinscheduler.server.worker.runner.DefaultWorkerTaskExecutor.executeTask(DefaultWorkerTaskExecutor.java:54) at org.apache.dolphinscheduler.server.worker.runner.WorkerTaskExecutor.run(WorkerTaskExecutor.java:175) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) [ERROR] 2024-05-29 08:54:02.036 +0800 - Task execute failed, due to meet an exception org.apache.dolphinscheduler.plugin.task.api.TaskException: Execute sql task failed at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.handle(SqlTask.java:166) at org.apache.dolphinscheduler.server.worker.runner.DefaultWorkerTaskExecutor.executeTask(DefaultWorkerTaskExecutor.java:54) at org.apache.dolphinscheduler.server.worker.runner.WorkerTaskExecutor.run(WorkerTaskExecutor.java:175) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750) Caused by: com.alibaba.druid.sql.parser.ParserException: syntax errorpos 15, line 1, column 8, token SELECT at com.alibaba.druid.sql.dialect.oracle.parser.OracleLexer.scanVariable(OracleLexer.java:206) at com.alibaba.druid.sql.parser.Lexer.nextToken(Lexer.java:1251) at com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser.query(OracleSelectParser.java:262) at com.alibaba.druid.sql.parser.SQLSelectParser.query(SQLSelectParser.java:400) at com.alibaba.druid.sql.dialect.oracle.parser.OracleSelectParser.select(OracleSelectParser.java:50) at com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser.parseStatementList(OracleStatementParser.java:96) at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:102) at org.apache.dolphinscheduler.plugin.datasource.oracle.param.OracleDataSourceProcessor.splitAndRemoveComment(OracleDataSourceProcessor.java:153) at org.apache.dolphinscheduler.plugin.task.sql.SqlTask.handle(SqlTask.java:137) ... 5 common frames omitted [INFO] 2024-05-29 08:54:02.036 +0800 - Get appIds from worker 172.20.130.14:1234, taskLogPath: /home/dolphinscheduler/dolphinscheduler/worker-server/logs/20240529/13241379018752/12/7585/8759.log [INFO] 2024-05-29 08:54:02.037 +0800 - Start finding appId in /home/dolphinscheduler/dolphinscheduler/worker-server/logs/20240529/13241379018752/12/7585/8759.log, fetch way: log [INFO] 2024-05-29 08:54:02.037 +0800 - The appId is empty [INFO] 2024-05-29 08:54:02.037 +0800 - Cancel the task successfully [INFO] 2024-05-29 08:54:02.038 +0800 - Get a exception when execute the task, will send the task status: FAILURE to master: 172.20.130.14:1234 [INFO] 2024-05-29 08:54:02.038 +0800 - FINALIZE_SESSION ### Version 3.1.x ### Are you willing to submit PR? - [X] Yes I am willing to submit a PR! ### Code of Conduct - [X] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
