"Please make sure you have at least one worker running" when waiting for signal

In a workflow code, I’m waiting for a signal as described here:
Workflow.await(() -> this.isReturnRefunded);

while waiting for the signal, the Workflow history in the UI is showing the error

Please make sure you have at least one worker running.

However, there is no pending activity (the last activity was executed successfully with ActivityTaskCompleted), I’m only waiting for the signal.

Should I do something about that, like redesigning the workflow code, or is this error message not relevant in that case? Thank you!

I think it is trying to tell you that you don’t have any activity worker running for this task queue. It is not related to activity tasks.

Thank you for the hint, I wasn’t aware that this message means something like

“You don’t have any activity worker with the same task-queue name as for the workflow worker”

This is our current (simplified) setup:

  • taskQueueA - only used as Workflow worker, starts tasks on taskQueueB (name hardcoded in ActivityStub)
  • taskQueueB - only used as Activity worker

I’ve managed to get rid of the message by registering an unused dummy activity at the worker of taskQueueA

Worker worker = factory.newWorker("taskQueueA");
worker.registerWorkflowImplementationTypes(ReturnWorkflowImpl.class);

// by adding a DummyActivity, the warning disappeared.
worker.registerActivitiesImplementations(new DummyActivity());

I’m just wondering if we’re doing anything in a not ideal way with our setup?

I’ve noticed that a worker is shown in the history if I have an activity handler for both workflow AND activity.


But if I remove the dummy activity, no worker is shown and the warning is back:
image
Maybe this could be just an edge case with very low traffic, when no workflow tasks are scheduled?
It’s interesting that the activity worker stays visible in the history, whereas the pure workflow worker disappears without any traffic on the task queue.

Whats the server version you are using?

Would really help to see your workflow history as it would tell us if an activity task was assigned to a workflow worker instead of activity worker. This should typically never happen but there were some issues lately related to eager activity feature that could potentially cause this.

tctl wf show -w <wfid> -r <runid> --of myhistory.json
(and share myhistory.json)

I believe it is a bug in our U that should be fixed.

This issue will be fixed in our next UI release, which should happen today.