You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by "saowu (via GitHub)" <gi...@apache.org> on 2025/02/07 02:32:58 UTC

[I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

saowu opened a new issue, #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997

   ### 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
   
   ![Image](https://github.com/user-attachments/assets/89084b10-6e4e-4ce0-a91b-88c412b0831b)
   A single task instance runs or runs backwards only once
   ```
   [WI-0][TI-0] - [ERROR] 2025-02-06 15:57:45.452 +0800 o.a.d.s.m.r.MasterSchedulerBootstrap:[153] - Master handle command 1160 error 
   org.apache.dolphinscheduler.server.master.exception.WorkflowCreateException: Create WorkflowExecuteRunnable failed
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnableFactory.createWorkflowExecuteRunnable(WorkflowExecuteRunnableFactory.java:98)
   	at org.apache.dolphinscheduler.server.master.runner.MasterSchedulerBootstrap.lambda$run$0(MasterSchedulerBootstrap.java:136)
   	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
   	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
   	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
   	at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
   	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
   	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
   	at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:401)
   	at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734)
   	at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
   	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
   	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
   	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
   	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583)
   	at org.apache.dolphinscheduler.server.master.runner.MasterSchedulerBootstrap.run(MasterSchedulerBootstrap.java:133)
   Caused by: java.lang.NullPointerException: null
   	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:889)
   	at com.google.common.collect.Lists.newArrayList(Lists.java:128)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl.joinVarPool(ProcessServiceImpl.java:1038)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl.setSubProcessParam(ProcessServiceImpl.java:982)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl.handleCommand(ProcessServiceImpl.java:316)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl$$FastClassBySpringCGLIB$$9d3e18f9.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
   	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
   	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl$$EnhancerBySpringCGLIB$$6edc3705.handleCommand(<generated>)
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteContextFactory.createWorkflowInstance(WorkflowExecuteContextFactory.java:81)
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteContextFactory.createWorkflowExecuteRunnableContext(WorkflowExecuteContextFactory.java:56)
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnableFactory.createWorkflowExecuteRunnable(WorkflowExecuteRunnableFactory.java:83)
   	... 15 common frames omitted
   ```
   
   ### What you expected to happen
   
   ```
       @Test
       void subtractVarPool() {
           Truth.assertThat(VarPoolUtils.subtractVarPool(null, null)).isNull();
           List<Property> varpool1 = Lists.newArrayList(new Property("name", Direct.OUT, DataType.VARCHAR, "tom"),
                   new Property("age", Direct.OUT, DataType.INTEGER, "10"));
           List<Property> varpool2 = Lists.newArrayList(new Property("name", Direct.OUT, DataType.VARCHAR, "tom"));
           List<Property> varpool3 = Lists.newArrayList(new Property("location", Direct.OUT, DataType.VARCHAR, "china"));
   
           Truth.assertThat(VarPoolUtils.subtractVarPool(varpool1, Lists.newArrayList(varpool2, varpool3)))
                   .containsExactly(new Property("age", Direct.OUT, DataType.INTEGER, "10"));
       }
   ```
   
   ### How to reproduce
   
   流程逻辑:一个工作流里面通过sub_process 方式,嵌套另一个工作流
   主工作流逻辑
   
   ![Image](https://github.com/user-attachments/assets/c95ea57e-f99c-497a-b0ad-435a068e6cfd)
   
   子工作流逻辑
   
   ![Image](https://github.com/user-attachments/assets/09788d9c-0ab0-49dc-93d7-4aaa698c2f7e)
   
   问题:当运行过程中失败时。
   
   ![Image](https://github.com/user-attachments/assets/c29003e9-1876-4b40-9cab-dbe7af23c5e8)
   
   进入工作流实例
   
   ![Image](https://github.com/user-attachments/assets/51953c23-2888-42f2-a6bc-d280d769fc75)
   
   ![Image](https://github.com/user-attachments/assets/0e9e51ba-fa38-465a-ad63-344694cd9803)
   
   执行向后运行,或运行 只能成功执行一次。 再执行就没有反应。
   
   ### Anything else
   
   _No response_
   
   ### Version
   
   3.2.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: commits-unsubscribe@dolphinscheduler.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997#issuecomment-2641784599

   ### 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
   
   ![Image](https://github.com/user-attachments/assets/89084b10-6e4e-4ce0-a91b-88c412b0831b)
   A single task instance runs or runs backwards only once
   ```
   [WI-0][TI-0] - [ERROR] 2025-02-06 15:57:45.452 +0800 o.a.d.s.m.r.MasterSchedulerBootstrap:[153] - Master handle command 1160 error 
   org.apache.dolphinscheduler.server.master.exception.WorkflowCreateException: Create WorkflowExecuteRunnable failed
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnableFactory.createWorkflowExecuteRunnable(WorkflowExecuteRunnableFactory.java:98)
   	at org.apache.dolphinscheduler.server.master.runner.MasterSchedulerBootstrap.lambda$run$0(MasterSchedulerBootstrap.java:136)
   	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
   	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
   	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
   	at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
   	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
   	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
   	at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:401)
   	at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734)
   	at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160)
   	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174)
   	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
   	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
   	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583)
   	at org.apache.dolphinscheduler.server.master.runner.MasterSchedulerBootstrap.run(MasterSchedulerBootstrap.java:133)
   Caused by: java.lang.NullPointerException: null
   	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:889)
   	at com.google.common.collect.Lists.newArrayList(Lists.java:128)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl.joinVarPool(ProcessServiceImpl.java:1038)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl.setSubProcessParam(ProcessServiceImpl.java:982)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl.handleCommand(ProcessServiceImpl.java:316)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl$$FastClassBySpringCGLIB$$9d3e18f9.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
   	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
   	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763)
   	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:708)
   	at org.apache.dolphinscheduler.service.process.ProcessServiceImpl$$EnhancerBySpringCGLIB$$6edc3705.handleCommand(<generated>)
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteContextFactory.createWorkflowInstance(WorkflowExecuteContextFactory.java:81)
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteContextFactory.createWorkflowExecuteRunnableContext(WorkflowExecuteContextFactory.java:56)
   	at org.apache.dolphinscheduler.server.master.runner.WorkflowExecuteRunnableFactory.createWorkflowExecuteRunnable(WorkflowExecuteRunnableFactory.java:83)
   	... 15 common frames omitted
   ```
   
   ### What you expected to happen
   
   ```
       @Test
       void subtractVarPool() {
           Truth.assertThat(VarPoolUtils.subtractVarPool(null, null)).isNull();
           List<Property> varpool1 = Lists.newArrayList(new Property("name", Direct.OUT, DataType.VARCHAR, "tom"),
                   new Property("age", Direct.OUT, DataType.INTEGER, "10"));
           List<Property> varpool2 = Lists.newArrayList(new Property("name", Direct.OUT, DataType.VARCHAR, "tom"));
           List<Property> varpool3 = Lists.newArrayList(new Property("location", Direct.OUT, DataType.VARCHAR, "china"));
   
           Truth.assertThat(VarPoolUtils.subtractVarPool(varpool1, Lists.newArrayList(varpool2, varpool3)))
                   .containsExactly(new Property("age", Direct.OUT, DataType.INTEGER, "10"));
       }
   ```
   
   ### How to reproduce
   
   流程逻辑:一个工作流里面通过sub_process 方式,嵌套另一个工作流
   主工作流逻辑
   
   ![Image](https://github.com/user-attachments/assets/c95ea57e-f99c-497a-b0ad-435a068e6cfd)
   
   子工作流逻辑
   
   ![Image](https://github.com/user-attachments/assets/09788d9c-0ab0-49dc-93d7-4aaa698c2f7e)
   
   问题:当运行过程中失败时。
   
   ![Image](https://github.com/user-attachments/assets/c29003e9-1876-4b40-9cab-dbe7af23c5e8)
   
   进入工作流实例
   
   ![Image](https://github.com/user-attachments/assets/51953c23-2888-42f2-a6bc-d280d769fc75)
   
   ![Image](https://github.com/user-attachments/assets/0e9e51ba-fa38-465a-ad63-344694cd9803)
   
   执行向后运行,或运行 只能成功执行一次。 再执行就没有反应。
   
   ### Anything else
   
   _No response_
   
   ### Version
   
   3.2.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: commits-unsubscribe@dolphinscheduler.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

Posted by "saowu (via GitHub)" <gi...@apache.org>.
saowu commented on issue #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997#issuecomment-2641803817

   ![Image](https://github.com/user-attachments/assets/14fbff50-b22d-4210-b776-f78f0499e6f9)
   The default is [], which becomes null after executing once.


-- 
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: commits-unsubscribe@dolphinscheduler.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997#issuecomment-2709161310

   This issue has been automatically marked as stale because it has not had recent activity for 30 days. It will be closed in next 7 days if no further activity occurs.


-- 
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: commits-unsubscribe@dolphinscheduler.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

Posted by "ruanwenjun (via GitHub)" <gi...@apache.org>.
ruanwenjun commented on issue #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997#issuecomment-2641826263

   I will take a deep look.


-- 
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: commits-unsubscribe@dolphinscheduler.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

Posted by "saowu (via GitHub)" <gi...@apache.org>.
saowu commented on issue #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997#issuecomment-2641814049

   https://github.com/apache/dolphinscheduler/blob/8ee334fc2f4803d7a628458018d82ca695b920d1/dolphinscheduler-service/src/main/java/org/apache/dolphinscheduler/service/process/ProcessServiceImpl.java#L1033
   
   Unable to parse here `"null"`


-- 
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: commits-unsubscribe@dolphinscheduler.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Bug] [Task] A single task instance runs or runs backwards only once [dolphinscheduler]

Posted by "saowu (via GitHub)" <gi...@apache.org>.
saowu commented on issue #16997:
URL: https://github.com/apache/dolphinscheduler/issues/16997#issuecomment-2641791419

   In the dev branch, this has been refactored.


-- 
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: commits-unsubscribe@dolphinscheduler.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org