fix(http): Improve exhausted 5xx retry errors#1023
fix(http): Improve exhausted 5xx retry errors#1023devin-ai-integration[bot] wants to merge 4 commits into
Conversation
Co-Authored-By: bot_apk <apk@cognition.ai>
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksTesting This CDK VersionYou 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-messagePR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
|
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
|
The error message improvement suggestion was rejected by sophiecuiy on https://github.com/airbytehq/airbyte-internal-issues/issues/16430. Rejection reason: "The replacement message still does not contain enough detail or remediation options." Based on that feedback, this proposed fix should not be merged as-is. I opened a draft skill update PR to prevent similar false positives in future triage: https://github.com/airbytehq/ai-skills/pull/401 |
👋 Greetings, Airbyte Team Member!Here are some helpful tips and reminders for your convenience. 💡 Show Tips and TricksTesting This CDK VersionYou 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-messagePR Slash CommandsAirbyte Maintainers can execute the following slash commands on your PR:
|
|
/ai-review |
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 connectorfallback 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
e.failure_typefor retry-exhausted server errors keeps the intended failure classification.Notes
source-salesloftis manifest-only/low-code, but the vague fallback is emitted by shared CDKHttpClientwhen a retryable HTTP exception exhausts retries, so the fix is at the CDK layer.transient_error.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, andpoetry run pytest unit_tests/sources/streams/http/test_http_client.py::test_send_with_retry_raises_specific_message_for_exhausted_server_error -q.CHANGELOG.mdentry was removed after review feedback.Link to Devin session: https://app.devin.ai/sessions/482d9f86c837463ab9c1720d40640fff