Skip to content

[Bug]: [Bug]: ParamValidationError: Invalid length for parameter CheckpointToken during context.wait() #565

Description

@Lmex89vexi

Expected Behavior

Description
When suspending an execution using context.wait(), the background state-syncing thread crashes with a botocore.exceptions.ParamValidationError.

The lambda_service.py client appears to be passing an empty string ("") or invalid zero-length value for the CheckpointToken parameter during the checkpoint_durable_execution API call. Boto3 validation requires this parameter to have a minimum length of 1 if it is included in the payload.

Actual Behavior

Actual Behavior
The checkpoint fails immediately during Boto3 parameter validation before the network request is made, crashing the background thread.

Environment Details
SDK Version: 1.5.0

Python Version: 3.13

Execution Environment: AWS Lambda

OS: Amazon Linux 2023 (Lambda standard runtime)

Steps to Reproduce

Steps to Reproduce
Initialize a durable execution inside an AWS Lambda function running the python3.13 runtime.

Invoke context.wait(Duration.from_seconds(35)) (or similar duration).

The SDK's background checkpointing process triggers lambda_service.checkpoint().

Observe the ParamValidationError in CloudWatch logs and the resulting BackgroundThreadError.

Expected Behavior
The SDK should successfully checkpoint the execution state. If a CheckpointToken is not yet available or is empty, the SDK should omit the parameter from the checkpoint_durable_execution kwargs rather than passing a zero-length string.

SDK Version

1.5.0

Python Version

3.13

Is this a regression?

No

Last Working Version

No response

Additional Context

No response

Metadata

Metadata

Assignees

Labels

bugpkg:sdkPackage: aws-durable-execution-sdk-python

Type

Projects

Status
Done

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions