Clarification on worker properties in Java SDK


As per below recommendation from Worker tuning guide, point 3 states maxConcurrentWorkflowTaskExecutionSize should be significantly less than maxConcurrentWorkflowTaskPollers.

But, the default values of these flags as per Java SDK is as below :

Above default values seem to be contradicting with the point mentioned in worker tuning guide.
Is this correct or am I missing anything? Please explain.

Yes you are correct, nice catch!
It should be

maxConcurrentWorkflowTaskExecutionSize should be significantly >= maxConcurrentWorkflowTaskPollers . And maxConcurrentActivityExecutionSize should be significantly >= maxConcurrentActivityTaskPollers

The sentence that comes after, namely The number of pollers should always be lower than the number of executors is correct, so just typo in the “<=”.
We are updating this page to fix the issue, will link PR and commit here for you. Thanks again.

@tihomir Great…thanks for the clarification!!
Also, is there any max limit for these properties?

For pollers, on the server side you have frontend.namespaceCount for frontend per namespace concurrent poller count limit, default is 1200

Will check on the other ones and get back to you.

This frontend.namespaceCount includes workflow and activity pollers…both…right?

This frontend.namespaceCount includes workflow and activity pollers…both…right?

Yes all concurrent pollers, workflow and activity ones.

Regarding maxConcurrentWorkflowTaskPollers, maxConcurrentActivityTaskPollers, would follow advice in note of the worker tuning guide here, as well as drawbacks section.

Poller counts > 10 typically don’t make much sense to set for most scenarios.

@tihomir The note section in worker tuning guide for “Poller Count” refers to maxConcurrentWorkflowTaskPollers and maxConcurrentActivityTaskPollers ?

Yes you are correct.

1 Like