removed blanket timestamp wrapping (time-skipping fix) - #11635
Merged
feiyang3cat merged 1 commit intoAug 19, 2026
Conversation
feiyang3cat
force-pushed
the
debug-timeskipping-fix-1
branch
2 times, most recently
from
August 19, 2026 05:49
f0c5c71 to
487d3e8
Compare
feiyang3cat
commented
Aug 19, 2026
| ms.wrapTimeSourceWithTimeSkipping() | ||
| ms.wrapExecutionTimes(initialSkip) |
Contributor
Author
There was a problem hiding this comment.
for reviewers:
We standardize on callers using virtual time directly when generating execution timestamps. (The opposite approach could also work.) In either way, the previous implementation was incorrect because it shifted timestamps during initialization even though continue-as-new already supplied virtual time.
feiyang3cat
force-pushed
the
debug-timeskipping-fix-1
branch
7 times, most recently
from
August 19, 2026 06:53
e10675c to
2237bdf
Compare
feiyang3cat
commented
Aug 19, 2026
| @@ -1671,7 +1672,7 @@ func (t *transferQueueActiveTaskExecutor) signalExternalExecution( | |||
| return err | |||
| } | |||
|
|
|||
| func (t *transferQueueActiveTaskExecutor) startWorkflow( | |||
| func (t *transferQueueActiveTaskExecutor) startChildWorkflow( | |||
Contributor
Author
There was a problem hiding this comment.
for reviewers:
it seems the original name is confusing and this method is designed purely for child wf and will panic if attributes is nil
feiyang3cat
force-pushed
the
debug-timeskipping-fix-1
branch
2 times, most recently
from
August 19, 2026 07:03
9192d75 to
0e7f8af
Compare
feiyang3cat
commented
Aug 19, 2026
| @@ -1719,6 +1719,12 @@ func (t *transferQueueActiveTaskExecutor) startWorkflow( | |||
| TimeSkippingConfig: attributes.GetTimeSkippingConfig(), | |||
| } | |||
|
|
|||
| statePropagation := attributes.GetTimeSkippingStatePropagation() | |||
| nowForExpirationAndBackoff := workflow.AdjustNowWithTimeSkipping( | |||
Contributor
Author
There was a problem hiding this comment.
for reviewers: the long name is to help indicate for the request there is actually no start time adjusted so the changes in create_workflow_util.go is not duplicate
feiyang3cat
force-pushed
the
debug-timeskipping-fix-1
branch
from
August 19, 2026 07:05
0e7f8af to
be6d32c
Compare
feiyang3cat
marked this pull request as ready for review
August 19, 2026 07:06
feiyang3cat
force-pushed
the
debug-timeskipping-fix-1
branch
from
August 19, 2026 07:12
be6d32c to
7359dd0
Compare
simvlad
approved these changes
Aug 19, 2026
yiminc
approved these changes
Aug 19, 2026
davidporter-id-au
pushed a commit
to davidporter-id-au/temporal
that referenced
this pull request
Aug 24, 2026
) ## What changed? - Removed blanket timestamp wrapping - cron/retry/start child wf use virtual time directly ## Why? there was a double-shifting for CaN but not for other cases it shall be fixed unifying the clock used by all virtual time propagating cases, and this PR chooses to unify in a way that all cases propagate use virtual time ## How did you test it? - [x] built - [ ] run locally and tested manually - [x] covered by existing tests - [x] added new unit test(s) - [x] added new functional test(s)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed?
Why?
there was a double-shifting for CaN but not for other cases
it shall be fixed unifying the clock used by all virtual time propagating cases, and this PR chooses to unify in a way that all cases propagate use virtual time
How did you test it?