Skip to content

This can be retried#2093

Merged
dgageot merged 1 commit intodocker:mainfrom
dgageot:can-be-retried
Mar 12, 2026
Merged

This can be retried#2093
dgageot merged 1 commit intodocker:mainfrom
dgageot:can-be-retried

Conversation

@dgageot
Copy link
Member

@dgageot dgageot commented Mar 12, 2026

No description provided.

Signed-off-by: David Gageot <david.gageot@docker.com>
@dgageot dgageot requested a review from a team as a code owner March 12, 2026 16:18
Copy link

@docker-agent docker-agent bot left a comment

Choose a reason for hiding this comment

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

Review Summary

Assessment: 🟢 APPROVE

Summary

This PR adds "internal_error" as a retryable pattern to handle HTTP/2 INTERNAL_ERROR stream-level errors. The implementation is correct and follows existing patterns in the codebase.

Analysis:

  • ✅ The pattern correctly uses case-insensitive matching (via strings.ToLower())
  • ✅ Multi-layer defense prevents false positives: HTTP status codes are extracted first, then nonRetryablePatterns are checked
  • ✅ The pattern follows precedent of other broad patterns like "timeout", "connection reset", "overloaded"
  • ✅ Test case validates the positive case with a realistic HTTP/2 error format
  • ✅ Code comment documents the intent clearly

No issues found. The changed code works correctly and is ready to merge.

@dgageot dgageot merged commit 456f1c1 into docker:main Mar 12, 2026
8 checks passed
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.

2 participants