Skip to content

Commit

Permalink
🐛 Source Shopify: Retry requests that return HTTP 500 (airbytehq#50976)
Browse files Browse the repository at this point in the history
Co-authored-by: Marcos Marx <marcosmarxm@users.noreply.github.com>
Co-authored-by: marcosmarxm <marcosmarxm@gmail.com>
  • Loading branch information
3 people authored Feb 13, 2025
1 parent c553718 commit 8da5b34
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ data:
connectorSubtype: api
connectorType: source
definitionId: 9da77001-af33-4bcd-be46-6252bf9342b9
dockerImageTag: 2.6.1
dockerImageTag: 2.6.2
dockerRepository: airbyte/source-shopify
documentationUrl: https://docs.airbyte.com/integrations/sources/shopify
erdUrl: https://dbdocs.io/airbyteio/source-shopify?view=relationships
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
version = "2.6.1"
version = "2.6.2"
name = "source-shopify"
description = "Source CDK implementation for Shopify."
authors = [ "Airbyte <contact@airbyte.io>",]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,6 @@ def __new__(self, stream: str) -> Mapping[str, Any]:
failure_type=FailureType.config_error,
error_message=f"Stream `{stream}`. Not available or missing.",
),
500: ErrorResolution(
response_action=ResponseAction.IGNORE,
failure_type=FailureType.config_error,
error_message=f"Stream `{stream}`. Entity might not be available or missing.",
),
# extend the mapping with more handable errors, if needed.
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,16 +90,8 @@ def test_privileges_validation(requests_mock, fetch_transactions_user_id, basic_

@pytest.mark.parametrize(
"stream, slice, status_code, json_response",
[
(BalanceTransactions, None, 404, {"errors": "Not Found"}),
(PriceRules, None, 403, {"errors": "Forbidden"}),
(FulfillmentOrders, {"order_id": 123}, 500, {"errors": "Internal Server Error"}),
],
ids=[
"Stream not found (404)",
"No permissions (403)",
"Internal Server Error for slice (500)",
],
[(BalanceTransactions, None, 404, {"errors": "Not Found"}), (PriceRules, None, 403, {"errors": "Forbidden"})],
ids=["Stream not found (404)", "No permissions (403)"],
)
def test_unavailable_stream(
requests_mock, auth_config, stream, slice: Optional[Mapping[str, Any]], status_code: int, json_response: Mapping[str, Any]
Expand Down
17 changes: 11 additions & 6 deletions docs/integrations/sources/shopify-migrations.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
# Shopify Migration Guide

## Upgrading to 2.6.0
## Upgrading to 2.6.1

This version completely deprecates the following streams, because Shopify no longer supports them after Shopify API version `2024-04`:

- `Products Graph QL`
- `Customer Saved Search`

Please use `Products` to replace the old `Products Graph QL` stream.


## Upgrading to 2.2.0

This version updates the schema for countries as our testing caught that `provinces.tax_percentage` is a number and not an integer.

### Action items required for 2.2.0

- `Refresh Schema` + `Reset` is required for this stream after the upgrade from previous version.

## Upgrading to 2.1.0

This version implements `Shopify GraphQL BULK Operations` to speed up the following streams:
- `Products`
- `Product Images`
- `Product Variants`

- `Products`
- `Product Images`
- `Product Variants`

* In the `Products` stream, the `published_scope` property is no longer available.
* In the `Products` stream, the `images` property now contains only the `id` of the image. Refer to the `Product Images` stream instead.
Expand All @@ -33,8 +38,8 @@ This version implements `Shopify GraphQL BULK Operations` to speed up the follow
* Retrieving the `deleted` records for `Products`, `Product Images` and `Product Variants` streams are no longer available, due to the `GraphQL` limitations.

### Action items required for 2.1.0
- `Refresh Schema` + `Reset` is required for this stream after the upgrade from previous version.

- `Refresh Schema` + `Reset` is required for this stream after the upgrade from previous version.

## Upgrading to 2.0.0

Expand Down
2 changes: 1 addition & 1 deletion docs/integrations/sources/shopify.md
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ For all `Shopify GraphQL BULK` api requests these limitations are applied: https

| Version | Date | Pull Request | Subject |
|:--------|:-----------|:---------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| N/A | 2025-01-31 | [52659](https://github.com/airbytehq/airbyte/pull/52659) | Add Pendulum as an explicit dependency |
| 2.6.2 | 2025-01-14 | [50976](https://github.com/airbytehq/airbyte/pull/50976) | Retry requests that return HTTP 500 |
| 2.6.1 | 2025-02-16 | [51602](https://github.com/airbytehq/airbyte/pull/51602) | Updated the `UpgradeDeadline` for the deprecation notice about [this change](https://github.com/airbytehq/airbyte/pull/51037) |
| 2.6.0 | 2025-01-15 | [51037](https://github.com/airbytehq/airbyte/pull/51037) | Deprecated the `ProductsGraphQL` and `CustomerSavedSearch` stream from the stream catalog |
| 2.5.18 | 2025-01-11 | [51326](https://github.com/airbytehq/airbyte/pull/51326) | Update dependencies |
Expand Down

0 comments on commit 8da5b34

Please sign in to comment.