Skip to content

fix: classify invalid checkpoint token errors as retryable - #715

Merged
hln33 merged 1 commit into
mainfrom
705-bug-invalid-checkpoint-token-misclassified-as-execution-failure-message-case-mismatch
Sep 17, 2026
Merged

hln33 merged 1 commit into
mainfrom
705-bug-invalid-checkpoint-token-misclassified-as-execution-failure-message-case-mismatch

Conversation

@hln33

@hln33 hln33 commented Sep 14, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • classify backend invalid checkpoint token errors as retryable using the backend-cased message prefix
  • cover prefix and casing behavior in classifier tests

Tests

  • mvn -pl sdk -Dtest=DurableApiErrorClassifierTest test
  • mvn spotless:apply
  • mvn -pl sdk -Dtest=DurableApiErrorClassifierTest test

@hln33
hln33 requested a review from a team September 14, 2026 23:58
@hln33
hln33 deployed to ai-pr-review-runtime September 14, 2026 23:58 — with GitHub Actions Active
@hln33
hln33 deployed to ai-pr-review-runtime September 14, 2026 23:58 — with GitHub Actions Active
* {@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.

@github-actions

This comment has been minimized.

@hln33
hln33 force-pushed the 705-bug-invalid-checkpoint-token-misclassified-as-execution-failure-message-case-mismatch branch from d4c439f to d5dd46d Compare September 15, 2026 00:02
@hln33
hln33 deployed to ai-pr-review-runtime September 15, 2026 00:03 — with GitHub Actions Active
* {@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";

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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.

@github-actions

Copy link
Copy Markdown
Contributor

Codex AI review

Found one P2 retry-classification regression. Tests were not run under the read-only review constraints.

Reviewed commit d5dd46dd8f21bc91eb7a1e201b805e5ea32817c4. Workflow run

@hln33
hln33 merged commit dd19d8e into main Sep 17, 2026
64 of 65 checks passed
@hln33
hln33 deleted the 705-bug-invalid-checkpoint-token-misclassified-as-execution-failure-message-case-mismatch branch September 17, 2026 16:01

This branch was successfully deployed

1 active deployment
ai-pr-review-runtime — d5dd46dd Deployed Sep 15, 2026 by hln33 via ai-pr-review / Codex review / Generate Codex review #864
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.

[Bug]: Invalid checkpoint token misclassified as execution failure (message case mismatch)

2 participants