fix: classify invalid checkpoint token errors as retryable - #715
Conversation
| * {@code InvalidParameterValueException} errors. | ||
| */ | ||
| private static final String INVALID_CHECKPOINT_TOKEN_MESSAGE_PREFIX = "Invalid Checkpoint Token"; | ||
| private static final String INVALID_CHECKPOINT_TOKEN_MESSAGE_PREFIX = "Invalid checkpoint token"; |
This comment was marked as outdated.
This comment was marked as outdated.
Sorry, something went wrong.
This comment has been minimized.
This comment has been minimized.
d4c439f to
d5dd46d
Compare
| * {@code InvalidParameterValueException} errors. | ||
| */ | ||
| private static final String INVALID_CHECKPOINT_TOKEN_MESSAGE_PREFIX = "Invalid Checkpoint Token"; | ||
| private static final String INVALID_CHECKPOINT_TOKEN_MESSAGE_PREFIX = "Invalid checkpoint token"; |
There was a problem hiding this comment.
Codex AI review · Finding arf_v1_42ltvndsdilk2qq2c5irjgq35x
P2 — Preserve both checkpoint-token capitalization variants. This replacement makes the previously accepted Invalid Checkpoint Token... message non-retryable, causing a recoverable stale-token race to fail the execution instead of requesting an invocation retry. Keep the error-code/status guards, compare the prefix case-insensitively, and test both variants as retryable.
There was a problem hiding this comment.
The actual durable execution backend never returned the previous error message that the SDK checks for. Therefore, we do not need to worry about being backwards compatible here.
Codex AI reviewFound one P2 retry-classification regression. Tests were not run under the read-only review constraints. Reviewed commit |
Summary
Tests