Skip to content
This repository was archived by the owner on Jun 10, 2026. It is now read-only.

fix(testing-sdk): checkpoint validation parent & duplicate IDs#75

Merged
yaythomas merged 1 commit into
mainfrom
checkpoint-batching
Oct 28, 2025
Merged

fix(testing-sdk): checkpoint validation parent & duplicate IDs#75
yaythomas merged 1 commit into
mainfrom
checkpoint-batching

Conversation

@yaythomas

@yaythomas yaythomas commented Oct 28, 2025

Copy link
Copy Markdown
Contributor

The SDK now uses background thread batching for checkpoints, which can send multiple updates for the same operation in a single batch (e.g., START followed by SUCCEED for fast-completing operations). Updated the checkpoint validator to allow this valid behavior.

Ref #52

Changes:

  • Allow duplicate operation IDs in checkpoint batches for STEP/CONTEXT operations when first action is START and subsequent is non-START
  • Reject duplicate IDs for other operation types (WAIT, CALLBACK, etc.)
  • Add 11 new tests covering all duplicate/inconsistency scenarios
  • Add pragma comments to Protocol method stubs in serialization.py

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@yaythomas yaythomas force-pushed the checkpoint-batching branch from a0dfd8a to 6007120 Compare October 28, 2025 00:13
@yaythomas yaythomas changed the title fix(localrunner): checkpoint validation parent & duplicate IDs fix(testing-sdk): checkpoint validation parent & duplicate IDs Oct 28, 2025
@yaythomas yaythomas closed this Oct 28, 2025
@yaythomas yaythomas reopened this Oct 28, 2025
@yaythomas yaythomas requested a review from a user October 28, 2025 00:16
@yaythomas yaythomas force-pushed the checkpoint-batching branch from 6007120 to ac98b17 Compare October 28, 2025 00:20
Comment thread src/aws_durable_execution_sdk_python_testing/checkpoint/validators/checkpoint.py Outdated
Comment thread src/aws_durable_execution_sdk_python_testing/checkpoint/validators/checkpoint.py Outdated
The SDK now uses background thread batching for checkpoints, which can
send multiple updates for the same operation in a single batch (e.g.,
START followed by SUCCEED for fast-completing operations). Updated the
checkpoint validator to allow this valid behavior.

Changes:
- Allow duplicate operation IDs in checkpoint batches for STEP/CONTEXT
  operations when first action is START and subsequent is non-START
- Reject duplicate IDs for other operation types (WAIT, CALLBACK, etc.)
- Add 11 new tests covering all duplicate/inconsistency scenarios
- Add pragma comments to Protocol method stubs in serialization.py
@yaythomas yaythomas force-pushed the checkpoint-batching branch from ac98b17 to ccc4849 Compare October 28, 2025 00:42
@yaythomas yaythomas merged commit eb96a87 into main Oct 28, 2025
6 of 15 checks passed
@yaythomas yaythomas deleted the checkpoint-batching branch October 28, 2025 00:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants