Hi, Folks,
For true async service tasks it seems delegateExecution.getProcessInstanceBusinessKey() fails with null pointer exception.
This one seems to fail only on certain async tasks.
The process is extremely simple fork/join with 2 parralel true async service tasks.
java.lang.NullPointerException
at org.flowable.engine.impl.util.CommandContextUtil.getExecutionEntityManager(CommandContextUtil.java:471)
at org.flowable.engine.impl.util.CommandContextUtil.getExecutionEntityManager(CommandContextUtil.java:467)
at org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.ensureProcessInstanceInitialized(ExecutionEntityImpl.java:489)
at org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.getProcessInstance(ExecutionEntityImpl.java:483)
at org.flowable.engine.impl.persistence.entity.ExecutionEntityImpl.getProcessInstanceBusinessKey(ExecutionEntityImpl.java:403)
at com.paysafe.ss.flowable.common.context.BaseReadOnlyProcessContext.getProcessInstanceBusinessKey(BaseReadOnlyProcessContext.java:77)
at com.paysafe.ss.flowable.common.ProcessLogger$ProcessExecutionLogEntry.create(ProcessLogger.java:73)
at com.paysafe.ss.flowable.common.TimeTrackingExecutor.executeTask(TimeTrackingExecutor.java:31)
at com.paysafe.ss.flowable.common.AsyncJavaTask.execute(AsyncJavaTask.java:33)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.tryInvoke(MockMethodAdvice.java:213)
at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.access$400(MockMethodAdvice.java:35)
at org.mockito.internal.creation.bytebuddy.MockMethodAdvice$RealMethodCall.invoke(MockMethodAdvice.java:165)
at org.mockito.internal.invocation.InterceptedInvocation.callRealMethod(InterceptedInvocation.java:152)
at org.mockito.internal.stubbing.answers.CallsRealMethods.answer(CallsRealMethods.java:44)
at org.mockito.Answers.answer(Answers.java:100)
at org.mockito.internal.handler.MockHandlerImpl.handle(MockHandlerImpl.java:103)
at org.mockito.internal.handler.NullResultGuardian.handle(NullResultGuardian.java:29)
at org.mockito.internal.handler.InvocationNotifierHandler.handle(InvocationNotifierHandler.java:33)
at org.mockito.internal.creation.bytebuddy.MockMethodInterceptor.doIntercept(MockMethodInterceptor.java:61)
at org.mockito.internal.creation.bytebuddy.MockMethodAdvice.handle(MockMethodAdvice.java:106)
at com.paysafe.ss.flowable.common.AsyncJavaTask.execute(AsyncJavaTask.java:33)
at com.paysafe.ss.flowable.common.AsyncJavaTask.execute(AsyncJavaTask.java:22)
at org.flowable.engine.delegate.FlowableFutureJavaDelegate.lambda$execute$0(FlowableFutureJavaDelegate.java:35)
at org.flowable.common.engine.impl.async.DefaultAsyncTaskExecutor.lambda$submit$0(DefaultAsyncTaskExecutor.java:115)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)