Skip to content

fix: restore backward-compatible MessageRepresentationAirbyteTracedErrors alias#976

Merged
Patrick Nilan (pnilan) merged 1 commit intomainfrom
devin/1775067700-restore-deprecated-alias
Apr 1, 2026
Merged

fix: restore backward-compatible MessageRepresentationAirbyteTracedErrors alias#976
Patrick Nilan (pnilan) merged 1 commit intomainfrom
devin/1775067700-restore-deprecated-alias

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

Summary

PR #927 removed the MessageRepresentationAirbyteTracedErrors class from http_client.py when promoting its __str__ behavior into the base AirbyteTracedException. However, several connectors in the airbytehq/airbyte monorepo still import MessageRepresentationAirbyteTracedErrors by name, causing ImportError at connector startup (affects CDK v7.10.2 through v7.15.0).

This PR restores a simple module-level alias:

MessageRepresentationAirbyteTracedErrors = AirbyteTracedException

This is an additive, non-breaking change. A companion PR in the monorepo will migrate all downstream usages to AirbyteTracedException directly.

Resolves https://github.com/airbytehq/oncall/issues/11850:

Related to #946:

Review & Testing Checklist for Human

  • Verify the alias is sufficient — MessageRepresentationAirbyteTracedErrors was only used as a catch target and for raising, never subclassed, so a plain alias (not a subclass) is correct
  • Consider whether a DeprecationWarning should be emitted to nudge downstream migration (intentionally omitted here for simplicity; downstream migration PR is in progress)

Notes

  • CDK versioning is automatic via semantic-pr-release-drafter — no manual version bump needed
  • Affected connectors: source-github (runtime breakage), source-mixpanel and source-linkedin-ads (test-only breakage)

Link to Devin session: https://app.devin.ai/sessions/83cdd5ae8ab140fa9b4c072d44e9163a

…rors alias

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

github-actions bot commented Apr 1, 2026

👋 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/1775067700-restore-deprecated-alias#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/1775067700-restore-deprecated-alias

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.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

PyTest Results (Fast)

3 977 tests  +2   3 966 ✅ +2   7m 38s ⏱️ +6s
    1 suites ±0      11 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit 92b3d52. ± Comparison against base commit 69cd63d.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 1, 2026

PyTest Results (Full)

3 980 tests  +2   3 968 ✅ +2   11m 12s ⏱️ -8s
    1 suites ±0      12 💤 ±0 
    1 files   ±0       0 ❌ ±0 

Results for commit 92b3d52. ± Comparison against base commit 69cd63d.

@pnilan Patrick Nilan (pnilan) marked this pull request as ready for review April 1, 2026 19:55
Copilot AI review requested due to automatic review settings April 1, 2026 19:55
@pnilan Patrick Nilan (pnilan) merged commit 5b6c307 into main Apr 1, 2026
28 of 29 checks passed
@pnilan Patrick Nilan (pnilan) deleted the devin/1775067700-restore-deprecated-alias branch April 1, 2026 19:55
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Restores a backward-compatible MessageRepresentationAirbyteTracedErrors symbol in http_client.py to prevent downstream ImportErrors in connectors that still import the old name after PR #927 removed the subclass.

Changes:

  • Reintroduce MessageRepresentationAirbyteTracedErrors as a module-level alias of AirbyteTracedException.
  • Add unit tests validating the alias is importable, identical to AirbyteTracedException, and usable in exception raising/catching flows.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
airbyte_cdk/sources/streams/http/http_client.py Adds the backward-compatible alias MessageRepresentationAirbyteTracedErrors = AirbyteTracedException.
unit_tests/sources/streams/http/test_http_client.py Adds regression tests ensuring the alias remains available and behaves equivalently to AirbyteTracedException.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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