Ceiling on one backfill child run (workflowExecutionTimeout). The sync
workflow's activity retry policy is unbounded — correct on the 30-minute
schedule, where overlap: TERMINATE_OTHER supersedes a wedged run, but on
the backfill path nothing supersedes anything, so a throttling Victor would
retry a slice forever and hang the parent at Running. This bound is what
converts that stall into a slice error the parent can report.
A 7-day slice is at most 501 pages; at ~1s/page that is ~10 minutes, so an
hour is ~6x headroom over the worst legitimate case. A workflow arg, so a
slow-but-healthy Victor is retunable at run time rather than in code.
Ceiling on one backfill child run (
workflowExecutionTimeout). The sync workflow's activity retry policy is unbounded — correct on the 30-minute schedule, whereoverlap: TERMINATE_OTHERsupersedes a wedged run, but on the backfill path nothing supersedes anything, so a throttling Victor would retry a slice forever and hang the parent at Running. This bound is what converts that stall into a slice error the parent can report.A 7-day slice is at most 501 pages; at ~1s/page that is ~10 minutes, so an hour is ~6x headroom over the worst legitimate case. A workflow arg, so a slow-but-healthy Victor is retunable at run time rather than in code.