Skip to content

add features of describe, max skip, and poll fast-forward completion to time skipping - #11220

Merged
feiyang3cat merged 8 commits into
mainfrom
fx/vts-descrip-poll-maxskip
Jul 31, 2026
Merged

add features of describe, max skip, and poll fast-forward completion to time skipping#11220
feiyang3cat merged 8 commits into
mainfrom
fx/vts-descrip-poll-maxskip

Conversation

@feiyang3cat

@feiyang3cat feiyang3cat commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

What changed?

  1. add a max skip field to TimeSkippingConfig
  2. add TimeSkippingInfo to DescribeWorkflowExecution (contains virtual current time and running status)
  3. add PollWorkflowExecutionTimeSkipping for fast-forward completion

Why?

  1. a generic mechanism to stop endless retries or schedules
  2. to give clients easier access to time skipping state changes

related API change: temporalio/api#835

@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch from 5c270ea to 6eac8ee Compare July 22, 2026 21:03
@feiyang3cat feiyang3cat reopened this Jul 22, 2026
@feiyang3cat feiyang3cat changed the title Fx/vts descrip poll maxskip VTS: add features of describe poll and max skip Jul 22, 2026
@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch from 8a39b67 to d0f17c4 Compare July 22, 2026 21:13
@feiyang3cat feiyang3cat changed the title VTS: add features of describe poll and max skip VTS: add features of describe, poll and max skip Jul 22, 2026
@feiyang3cat feiyang3cat changed the title VTS: add features of describe, poll and max skip VTS: add features of describe, max skip, and poll fast-forward completion Jul 22, 2026
@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch from d0f17c4 to ab82eb1 Compare July 23, 2026 18:17
@feiyang3cat feiyang3cat changed the title VTS: add features of describe, max skip, and poll fast-forward completion add features of describe, max skip, and poll fast-forward completion to time skipping Jul 27, 2026
@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch 2 times, most recently from 5015e79 to 39d4566 Compare July 30, 2026 19:38
feiyang3cat added a commit to temporalio/api that referenced this pull request Jul 30, 2026
**What changed?**

1. add a max skip field  to `TimeSkippingConfig`
2. add `TimeSkippingInfo` to `DescribeWorkflowExecution` (contains
virtual current time and time-skipping runtime status)
3. add `PollWorkflowExecutionTimeSkipping` for fast-forward completion 
4. comment refinements: remove the workflow keyword from time-skipping
message comments under the common path
5. change `fast_forward` from a duration field to a message with both
duration and id

**Breaking changes**
Change #5

**Server PR**
temporalio/temporal#11220
temporal-cicd Bot pushed a commit to temporalio/api-go that referenced this pull request Jul 30, 2026
**What changed?**

1. add a max skip field  to `TimeSkippingConfig`
2. add `TimeSkippingInfo` to `DescribeWorkflowExecution` (contains
virtual current time and time-skipping runtime status)
3. add `PollWorkflowExecutionTimeSkipping` for fast-forward completion
4. comment refinements: remove the workflow keyword from time-skipping
message comments under the common path
5. change `fast_forward` from a duration field to a message with both
duration and id

**Breaking changes**
Change #5

**Server PR**
temporalio/temporal#11220
@feiyang3cat
feiyang3cat marked this pull request as ready for review July 30, 2026 19:54
@feiyang3cat
feiyang3cat requested review from a team as code owners July 30, 2026 19:54
1. add virtual time and running status in DescribeWorkflowExecution
2. rename TimeSkippingEnabled to WorkflowTimeSkippingEnabled
3. add default implementation of new API

- [x] built
- [ ] run locally and tested manually
- [x] covered by existing tests
- [x] added new unit test(s)
- [ ] added new functional test(s)
1. Add a check to ensure fast_forward_id is not nil when setting the
time-skipping config.
2. implement the poll api for time skipping
- add a soft timeout waiting for fast-forward related notifications
- fast-forward updates (either config or runtime state) will un-park all
waiting requests
- a workflow (chain of runs) completion will also un-park all waiting
requests
4. add a generic PubSubNotifier and a noopNotifier so that this pattern
can be reused

- [x] built
- [x] run locally and tested manually
- [x] covered by existing tests
- [x] added new unit test(s)
- [x] added new functional test(s)
@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch 2 times, most recently from 8ece8db to 93a35f8 Compare July 30, 2026 20:59
@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch from 93a35f8 to 5db0ac2 Compare July 30, 2026 21:09
The root module moved to go.temporal.io/api v1.63.5-0.20260730194729-ba94140a7640
in 4c82315, but tests/mixedbrain is a separate module (replacing
go.temporal.io/server => ../..) still pinning v1.63.4, so `go test` refused to
run with "updates to go.mod needed" and mixed-brain-test failed with no test log.
@feiyang3cat
feiyang3cat force-pushed the fx/vts-descrip-poll-maxskip branch from 2260a38 to efca08d Compare July 30, 2026 21:48
@feiyang3cat
feiyang3cat merged commit aa6f86e into main Jul 31, 2026
71 of 75 checks passed
@feiyang3cat
feiyang3cat deleted the fx/vts-descrip-poll-maxskip branch July 31, 2026 00:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants