conductor
conductor copied to clipboard
NPE in Workflow Repair Logic
Describe the bug Workflow repair logic fails with NPE when workflow information is not present in data store.
java.lang.NullPointerException: null
at com.netflix.conductor.core.reconciliation.WorkflowRepairService.verifyAndRepairWorkflowTasks(WorkflowRepairService.java:105) ~[conductor-core-3.11.3.jar:3.11.3]
at com.netflix.conductor.core.reconciliation.WorkflowSweeper.sweep(WorkflowSweeper.java:74) ~[conductor-core-3.11.3.jar:3.11.3]
at com.netflix.conductor.core.reconciliation.WorkflowSweeper.sweepAsync(WorkflowSweeper.java:62) ~[conductor-core-3.11.3.jar:3.11.3]
at com.netflix.conductor.core.reconciliation.WorkflowSweeper$$FastClassBySpringCGLIB$$f994448e.invoke(<generated>) ~[conductor-core-3.11.3.jar:3.11.3]
at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[conductor-es7-persistence-3.11.3.jar:3.11.3]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:793) ~[conductor-es7-persistence-3.11.3.jar:3.11.3]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[conductor-es7-persistence-3.11.3.jar:3.11.3]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:763) ~[conductor-es7-persistence-3.11.3.jar:3.11.3]
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115) ~[conductor-es7-persistence-3.11.3.jar:3.11.3]
at org.springframework.aop.interceptor.AsyncExecutionAspectSupport.lambda$doSubmit$3(AsyncExecutionAspectSupport.java:278) ~[conductor-es7-persistence-3.11.3.jar:3.11.3]
at java.util.concurrent.CompletableFuture$AsyncSupply.run$$$capture(CompletableFuture.java:1700) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java) [?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
Details Conductor version: 3.13.0 Persistence implementation: Redis Queue implementation: Postgres Lock: Redis Workflow definition: Task definition: Event handler definition:
To Reproduce Steps to reproduce the behavior:
- Go to '...'
- Click on '....'
- Scroll down to '....'
- See error
Expected behavior A clear and concise description of what you expected to happen. There should be check to avoid process when workflow info is not found.
Screenshots If applicable, add screenshots to help explain your problem.
Additional context Add any other context about the problem here.
PR for fixing : https://github.com/Netflix/conductor/pull/3313