Skip to content

fix(http): Improve exhausted 5xx retry errors#1023

Draft
devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/1778625884-http-retry-error-message
Draft

fix(http): Improve exhausted 5xx retry errors#1023
devin-ai-integration[bot] wants to merge 3 commits into
mainfrom
devin/1778625884-http-retry-error-message

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot commented May 12, 2026

Summary

Improve the user-facing error produced when HTTP server errors still fail after all retry attempts. Instead of surfacing the generic Something went wrong in the connector fallback through retry exhaustion, retry-exhausted HTTP 500/502/503/504 responses now emit deterministic API server status messages while preserving request URL, response code, and response text in the internal message.

Resolves https://github.com/airbytehq/airbyte-internal-issues/issues/16430
Related to https://github.com/airbytehq/oncall/issues/10694

Review & Testing Checklist for Human

  • Confirm the new HTTP 5xx messages match the error-message guidelines and are appropriate for connector UI display.
  • Confirm preserving e.failure_type for retry-exhausted server errors keeps the intended failure classification.
  • Run a low-code connector scenario with repeated HTTP 500 responses to verify the trace message shown to users is specific.

Notes

  • source-salesloft is manifest-only/low-code, but the vague fallback is emitted by shared CDK HttpClient when a retryable HTTP exception exhausts retries, so the fix is at the CDK layer.
  • This is not a breaking change: it does not change connector specs, schemas, state format, or public interfaces. HTTP 5xx retry exhaustion remains transient_error.
  • Local checks passed in this continuation: poetry run ruff format --check airbyte_cdk/sources/streams/http/http_client.py unit_tests/sources/streams/http/test_http_client.py, poetry run ruff check airbyte_cdk/sources/streams/http/http_client.py unit_tests/sources/streams/http/test_http_client.py, and poetry run pytest unit_tests/sources/streams/http/test_http_client.py::test_send_with_retry_raises_specific_message_for_exhausted_server_error -q.
  • CI is passing: 31 checks passed, 0 failed, 0 pending.

Link to Devin session: https://app.devin.ai/sessions/482d9f86c837463ab9c1720d40640fff

Co-Authored-By: bot_apk <apk@cognition.ai>
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@github-actions
Copy link
Copy Markdown

👋 Greetings, Airbyte Team Member!

Here are some helpful tips and reminders for your convenience.

💡 Show Tips and Tricks

Testing This CDK Version

You can test this version of the CDK using the following:

# Run the CLI from this branch:
uvx 'git+https://github.com/airbytehq/airbyte-python-cdk.git@devin/1778625884-http-retry-error-message#egg=airbyte-python-cdk[dev]' --help

# Update a connector to use the CDK from this branch ref:
cd airbyte-integrations/connectors/source-example
poe use-cdk-branch devin/1778625884-http-retry-error-message

PR Slash Commands

Airbyte Maintainers can execute the following slash commands on your PR:

  • /autofix - Fixes most formatting and linting issues
  • /poetry-lock - Updates poetry.lock file
  • /test - Runs connector tests with the updated CDK
  • /prerelease - Triggers a prerelease publish with default arguments
  • /poe build - Regenerate git-committed build artifacts, such as the pydantic models which are generated from the manifest JSON schema in YAML.
  • /poe <command> - Runs any poe command in the CDK environment
📚 Show Repo Guidance

Helpful Resources

📝 Edit this welcome message.

Comment thread unit_tests/sources/streams/http/test_http_client.py Fixed
devin-ai-integration Bot and others added 2 commits May 12, 2026 22:50
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
@github-actions
Copy link
Copy Markdown

PyTest Results (Fast)

4 060 tests  +1   4 049 ✅ +1   7m 35s ⏱️ -10s
    1 suites ±0      11 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit ff6edd8. ± Comparison against base commit d3d1346.

@github-actions
Copy link
Copy Markdown

PyTest Results (Full)

4 063 tests  +1   4 051 ✅ +1   10m 55s ⏱️ -1s
    1 suites ±0      12 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit ff6edd8. ± Comparison against base commit d3d1346.

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.

1 participant