Skip to content

Commit

Permalink
Do schedule backfills incrementally (#5344)
Browse files Browse the repository at this point in the history
Previously schedule backfills were processed synchronously: the workflow
would run through the whole given time range and either start workflows
or add them to the buffer. This is changed to process them incrementally
and keep track of the time range processed so far. There can be up to
1000 buffered backfills (reusing same limit as action buffer).

- This allows backfills to be arbitrarily long, instead of limited to
1000 actions.
- In some situations, evaluating a long backfill could take more than 1s
of elapsed time, causing the SDK to think that the workflow was
deadlocked and failing the workflow task, effectively causing the
scheduler workflow to get stuck.

new unit tests, replay test
  • Loading branch information
dnr authored and yycptt committed Apr 26, 2024
1 parent a520df2 commit 9b1981c
Show file tree
Hide file tree
Showing 5 changed files with 471 additions and 253 deletions.
Loading

0 comments on commit 9b1981c

Please # to comment.