Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Discard expired task before dispatch them #3150

Closed
yiminc opened this issue Jul 27, 2022 · 0 comments · Fixed by #3161
Closed

Discard expired task before dispatch them #3150

yiminc opened this issue Jul 27, 2022 · 0 comments · Fixed by #3161
Assignees

Comments

@yiminc
Copy link
Member

yiminc commented Jul 27, 2022

Each matching task as TTL associated with them (at persistence layer). After task is expired, they will be removed from persistence and won't be read back by matching task reader.
However, if a task is read into matching task queue manager, but sitting in memory queue waiting for poller to pick them up, they won't expire anymore. So if the poller is slow in consuming them (for example by PerTaskQueueRateLimit), those task in matching task queue manager in-memory queue could expire and still be matched to a poller, but before returning to poller, matching needs to recordActivityTaskStarted which will fail because history already timeout that task as it is already expired.

We need to check if task is already expired before match it to a poller.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants