gaojun2048 opened a new issue #9124: URL: https://github.com/apache/dolphinscheduler/issues/9124
### 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 PROCEDURE task run fail. code version: branch/dev When I run a `PROCEDURE` task ,it's failed. The procedure sql like this: ``` use procedure_test; drop PROCEDURE if EXISTS tw_base_resource_share; delimiter d// CREATE PROCEDURE tw_base_resource_share() BEGIN IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS WHERE TABLE_SCHEMA='procedure_test' AND TABLE_NAME='test_test_1') THEN CREATE table procedure_test.test_test_1(id int NOT NULL); END IF; END; d// delimiter ; CALL tw_base_resource_share; DROP PROCEDURE tw_base_resource_share; ``` From the worker-server log , I found some Exception: ``` [INFO] 2022-03-23 15:26:59.530 TaskLogLogger-class org.apache.dolphinscheduler.plugin.task.procedure.ProcedureTask:[74] - procedure task params {"localParams":[],"resourceList":[],"type":"MYSQL","datasource":"1","method":"use procedure_test;\ndrop PROCEDURE if EXISTS tw_base_resource_share;\ndelimiter d//\nCREATE PROCEDURE tw_base_resource_share()\n BEGIN\n IF NOT EXISTS (SELECT 1 FROM information_schema.COLUMNS \n WHERE TABLE_SCHEMA='procedure_test' AND TABLE_NAME='test_test_1')\n THEN\n CREATE table procedure_test.test_test_1(id int NOT NULL);\n END IF;\n END;\nd//\ndelimiter ;\nCALL tw_base_resource_share;\nDROP PROCEDURE tw_base_resource_share;"} [ERROR] 2022-03-23 15:26:59.532 org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread:[203] - task scheduler failure java.lang.NullPointerException: null at org.apache.dolphinscheduler.plugin.task.procedure.ProcedureParameters.generateExtendedContext(ProcedureParameters.java:138) at org.apache.dolphinscheduler.plugin.task.procedure.ProcedureTask.<init>(ProcedureTask.java:83) at org.apache.dolphinscheduler.plugin.task.procedure.ProcedureTaskChannel.createTask(ProcedureTaskChannel.java:37) at org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread.run(TaskExecuteThread.java:179) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) 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:748) [INFO] 2022-03-23 15:26:59.532 org.apache.dolphinscheduler.server.worker.runner.TaskExecuteThread:[226] - develop mode is: false ``` ### What you expected to happen PROCEDURE task can work. ### How to reproduce Create a `MySQL` datasource. And then create a workflow with a PROCEDURE task. This task use `MySQL` datasource . Run the workflow and you can get the error. ### Anything else _No response_ ### Version dev ### Are you willing to submit PR? - [ ] 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]
