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]


Reply via email to