Hello. I am using the Java SDK test environment to run unit tests. We have a workflow which fires off a number of async activities and doesn’t wait for them to finish before closing the workflow. This is our desired behavior as we don’t want them to prevent our workflow from completing if they are still retrying. We have one in particular which we added right before the workflow completes which is causing an issue in our test code.
Occasionally, our test are printing “Failure during reporting of activity result to the server” and “NOT_FOUND: Completed workflow”. My understanding is that the async activity was started, but the workflow completed before the activity completed. This doesn’t happen on every run, so I assume there is some non-deterministic ordering of the executions in the test environment which makes sense for an async execution.
Normally this is not a problem as our test cases pass still, but it causes an issue with time-skipping. We have some tests which call a workflow await path or test failure scenarios which trigger activity retry back offs. When this transient error with the async activity occurs, some subsequent tests are no longer time skipping. Is there an explanation for why the time skipping is stopped and how we can prevent it?