uber-go / cadence-client

Framework for authoring workflows and activities running on top of the Cadence orchestration engine.
https://cadenceworkflow.io
MIT License
345 stars 131 forks source link

Fix TestActivityWorkerStop: it times out with go 1.20 #1223

Closed dkrotx closed 1 year ago

dkrotx commented 1 year ago

The only test that fails with go 1.20 is this one. The reason is workerOptions.WorkerActivitiesPerSecond == 0, and it is not augmented in newActivityWorker() - this supposed to be done in callers. This breaks task-dispatching: polled tasks are never executed since it is always above the limit(0).

What changed? TestActivityWorkerStop now works with default MaxActivity

Why? make unit_test was hanging on TestActivityWorkerStop for 10 minutes (timeout), and failed afterwards. I believe it because of the new go version:

$ go version
go version go1.20.1 darwin/arm64

The reason is, an activity which supposed to drive the test is never executed because of rate-limiting; workerOptions.WorkerActivitiesPerSecond is zero. newActivityWorker expects this already be augmented to default (100k) by callers.

How did you test it? make unit_test succeeds after this patch.

Potential risks No risks, it is only a test-file changed.

CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

Shaddoll commented 1 year ago

Did it only fail with go 1.20?

dkrotx commented 1 year ago

Did it only fail with go 1.20?

Actually, not only. It failed with 1.19 as well. But then I don't quite understand how it worked before. There is definitely an issue - to start worker with WorkerActivitiesPerSecond being zero.