Skip to content

implement time skipping for schedule v2 - #12197

Open
feiyang3cat wants to merge 5 commits into
mainfrom
fx/vts-chasm-schedule
Open

feiyang3cat wants to merge 5 commits into
mainfrom
fx/vts-chasm-schedule

Conversation

@feiyang3cat

@feiyang3cat feiyang3cat commented Sep 20, 2026 •

Copy link
Copy Markdown
Member

What changed?

  • implement time skipping for schedule v2
  • ban time skipping for schedule v1

How did you test it?

  • built
  • run locally and tested manually
  • covered by existing tests
  • added new unit test(s)
  • added new functional test(s)

need to merge the API first and change dependance to main temporalio/api#856

@feiyang3cat
feiyang3cat added this pull request to stack #12198 September 20, 2026 18:28
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-schedule branch 3 times, most recently from 502c84d to 2ce1494 Compare September 20, 2026 19:00
Comment thread service/frontend/workflow_handler.go Outdated
Comment thread chasm/lib/scheduler/scheduler.go Outdated
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-framework-patch branch from 37aaccd to cd44882 Compare September 21, 2026 07:44
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-schedule branch 8 times, most recently from 4ff7f75 to 4af3bb1 Compare September 26, 2026 17:37
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-schedule branch 4 times, most recently from 35c5a98 to 5dd3dce Compare September 27, 2026 05:08
Comment thread chasm/lib/scheduler/scheduler_migrate_task.go
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-schedule branch 3 times, most recently from 084bb06 to 13e0234 Compare September 27, 2026 06:07
return &schedulerpb.MigrateToWorkflowResponse{}, nil
}

_, timeSkippingState := ctx.GetTimeSkippingPropagateState()

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for reviews: need special attention for this handling if this will impact the migration plan unexpectedly

Comment thread tests/schedule_test.go
}, workflow.RegisterOptions{Name: wt})
}

// registerTimerWorkflow registers a workflow with exactly one user timer.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Current necessary test coverage:

  • Frontend validation: dynamic-config gate, V1 rejection, required/bounded fast-forward.
  • Scheduler gate: status, generator, backfiller, all overlap policies, buffered/running work, cancellation and termination.
  • Invoker: config/state propagation and virtual-vs-wall start timestamps.
  • Migration: enabled or previously-skipped Schedules are blocked; allowed migration propagates no time-skipping fields.
  • API wiring: create/update configuration and Describe output.
  • Functional: fast-forward, default overlap with a user timer, and BUFFER_ALL with backfill and user timers.
  • Existing Schedule functional tests provide broad regression coverage with time skipping unset.
    Focused Scheduler, common, and frontend tests pass.

@feiyang3cat
feiyang3cat marked this pull request as ready for review September 27, 2026 06:22
@feiyang3cat
feiyang3cat requested review from a team as code owners September 27, 2026 06:22
@feiyang3cat
feiyang3cat requested review from a team as code owners September 27, 2026 06:22
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-framework-patch branch from 93bee2b to 0abfbb0 Compare September 29, 2026 16:49
@feiyang3cat
feiyang3cat requested review from a team as code owners September 29, 2026 16:49
@feiyang3cat
feiyang3cat force-pushed the fx/vts-chasm-framework-patch branch from 0abfbb0 to 5d8f408 Compare September 29, 2026 17:20
@feiyang3cat
feiyang3cat removed this pull request from stack #12198 September 29, 2026 17:21
Base automatically changed from fx/vts-chasm-framework-patch to main September 29, 2026 17:41

This branch has not been deployed

No deployments
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.

1 participant