-
Notifications
You must be signed in to change notification settings - Fork 5k
Description
Search before asking
- I had searched in the issues and found no similar issues.
What happened
Based on version 3.3.2 (the [Fix-17967] patch has been applied #17968 )(Fix Parameter passing feature is unavailable in Procedure Task)
When a stored procedure contains a SELECT statement, an error is thrown when executing the Stored Procedure node
CREATE OR REPLACE Procedure aSP_test20260211(
)As
V_Term date;
v_guid varchar2(200);
v_cur_date date;
v_proc_date date;
v_tran varchar(10);
e_Exception Exception;
BEGIN
select 123 from dual;
Commit;
End;
procedure node configuration:
err log:
/opt/apache-dolphinscheduler-3.3.2-bin/worker-server/logs/20260211/165236478352384/8/47/172.log, [HOST]: xx.xx.xx.xx:1234
2026-02-11 15:28:38.149 INFO - 🐬 Initialize Task Context
2026-02-11 15:28:38.262 INFO - Current tenant is default tenant, will use bootstrap user: root to execute the task
2026-02-11 15:28:38.262 INFO - TenantCode: root check successfully
2026-02-11 15:28:38.264 INFO - TaskInstance working directory: /tmp/dolphinscheduler/exec/process/172 create successfully
2026-02-11 15:28:38.264 INFO - Download resources successfully:
ResourceContext(resourceItemMap={})
2026-02-11 15:28:38.267 INFO - 🐬 Load Task Instance Plugin
2026-02-11 15:28:38.267 INFO - Initialize procedure task params {
"localParams" : [ ],
"varPool" : [ ],
"type" : "DAMENG",
"datasource" : 1,
"outProperty" : null,
"method" : "call aSP_test20260211();"
}
2026-02-11 15:28:38.267 INFO - Initialized physicalTask: PROCEDURE successfully
2026-02-11 15:28:38.267 INFO - Set taskVarPool: null successfully
2026-02-11 15:28:38.269 INFO - 🐬 Execute Task Instance
2026-02-11 15:28:38.269 INFO - procedure type : DAMENG, datasource : 1, method : call aSP_test20260211(); , localParams : []
2026-02-11 15:28:38.269 WARN - Connect strings must start with jdbc:snowflake://
2026-02-11 15:28:38.275 ERROR - procedure task error
dm.jdbc.driver.DMException: 语句类型不匹配
at dm.jdbc.driver.DBError.throwz(SourceFile:844)
at dm.jdbc.driver.DmdbPreparedStatement.do_executeUpdate(SourceFile:546)
at dm.jdbc.driver.DmdbPreparedStatement$3.run(SourceFile:1418)
at dm.jdbc.driver.DmdbPreparedStatement$3.run(SourceFile:1)
at dm.jdbc.driver.DmdbPreparedStatement.executeUpdate(SourceFile:1428)
at org.apache.dolphinscheduler.plugin.task.procedure.ProcedureTask.handle(ProcedureTask.java:115)
at org.apache.dolphinscheduler.server.worker.executor.PhysicalTaskExecutor.doTriggerTaskPlugin(PhysicalTaskExecutor.java:77)
at org.apache.dolphinscheduler.task.executor.AbstractTaskExecutor.start(AbstractTaskExecutor.java:81)
at org.apache.dolphinscheduler.task.executor.worker.TaskExecutorWorker.start(TaskExecutorWorker.java:65)
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:750)
2026-02-11 15:28:38.276 ERROR - PhysicalTaskExecutor{id=172, name=执行存储过程, stat=RUNNING} execute failed
org.apache.dolphinscheduler.plugin.task.api.TaskException: Execute procedure task failed
at org.apache.dolphinscheduler.plugin.task.procedure.ProcedureTask.handle(ProcedureTask.java:126)
at org.apache.dolphinscheduler.server.worker.executor.PhysicalTaskExecutor.doTriggerTaskPlugin(PhysicalTaskExecutor.java:77)
at org.apache.dolphinscheduler.task.executor.AbstractTaskExecutor.start(AbstractTaskExecutor.java:81)
at org.apache.dolphinscheduler.task.executor.worker.TaskExecutorWorker.start(TaskExecutorWorker.java:65)
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:750)
Caused by: dm.jdbc.driver.DMException: 语句类型不匹配
at dm.jdbc.driver.DBError.throwz(SourceFile:844)
at dm.jdbc.driver.DmdbPreparedStatement.do_executeUpdate(SourceFile:546)
at dm.jdbc.driver.DmdbPreparedStatement$3.run(SourceFile:1418)
at dm.jdbc.driver.DmdbPreparedStatement$3.run(SourceFile:1)
at dm.jdbc.driver.DmdbPreparedStatement.executeUpdate(SourceFile:1428)
at org.apache.dolphinscheduler.plugin.task.procedure.ProcedureTask.handle(ProcedureTask.java:115)
... 8 common frames omitted
2026-02-11 15:28:38.492 INFO - 🐬 Finalize Task Instance
2026-02-11 15:28:38.493 INFO - FINALIZE_SESSION
2026-02-11 15:28:38.494 INFO - Deleted task exec directory: /tmp/dolphinscheduler/exec/process/172
What you expected to happen
The procedure node executes successfully.
How to reproduce
CREATE OR REPLACE Procedure aSP_test20260211(
)As
V_Term date;
v_guid varchar2(200);
v_cur_date date;
v_proc_date date;
v_tran varchar(10);
e_Exception Exception;
BEGIN
select 123 from dual;
Commit;
End;
procedure node configuration:
Anything else
No response
Version
3.3.2
Are you willing to submit PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct