New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐛 Source Github: return AirbyteMessage if max retry exeeded for 202 status code #32679
🐛 Source Github: return AirbyteMessage if max retry exeeded for 202 status code #32679
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Ignored Deployment
|
Before Merging a Connector Pull RequestWow! What a great pull request you have here! 🎉 To merge this PR, ensure the following has been done/considered for each connector added or updated:
If the checklist is complete, but the CI check is failing,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚢
@@ -1381,9 +1381,9 @@ def test_stream_contributor_activity_accepted_response(caplog): | |||
status=202, | |||
) | |||
with patch("time.sleep", return_value=0): | |||
list(read_full_refresh(stream)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's reproduce this bug in a test so we would not miss it again
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this test reproduces this "bug", None is not returning now from read records so read results now can be correctly parsed in https://github.com/airbytehq/airbyte/blob/master/airbyte-cdk/python/airbyte_cdk/sources/utils/record_helper.py#L14.
/approve-and-merge reason="Fixing on-call issue with github source connector to handle 202 status code error correctly." |
What
resolved: https://github.com/airbytehq/oncall/issues/3294
They are receiving the Unexpected type for data_or_message: <class 'NoneType'>: None error.
How
NoneType error occurs because we have incorrect handling of 202 status code response if max retry reached. Added
yield AirbyteMessage
instead ofyield
to fix NoneType error. So now we can skip this stream if data is still computing on github side after 6 retries.