Hi <@U04S8PLJWMT> I have a woocommerce connector o...
# ask-ai
s
Hi @kapa.ai I have a woocommerce connector on an open source instance which keeps giving this error: 2025-12-09 155310 info Backing off _send(...) for 1.0s (airbyte_cdk.sources.streams.http.exceptions.DefaultBackoffException: HTTP Status Code: 503. Error: Service unavailable.) 2025-12-09 155310 info Caught retryable error 'HTTP Status Code: 503. Error: Service unavailable.' after 1 tries. Waiting 1 seconds then retrying... On the orders table, but it can happen on any other table which has a lot of records. I've tried replicating the issue by running requests quickly concurrently from the same IP but I can't figure out what is wrong. What do you now about this issue with woocommerce and how could I effectively troubleshoot this?
k
The logs you’re seeing are Airbyte’s built‑in retry mechanism reacting to HTTP 503 (“Service unavailable”) responses from WooCommerce. These are treated as retryable server errors and retried with backoff, exactly as designed for HTTP 5xx codes.[[Error handling](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/error-handling)] From the WooCommerce connector docs, the only documented, connector‑specific limitation is related to rate limiting: WooCommerce lets you configure custom rate limits, and Airbyte exposes a
maxSecondsBetweenMessages
setting in the connector’s
metadata.yaml
to respect those limits.[[WooCommerce limits](https://docs.airbyte.com/integrations/sources/woocommerce#limitations--troubleshooting)] There is no additional, documented known issue specifically about 503s on large tables. Given what is in the docs, here is how you can troubleshoot more effectively: 1. Check WooCommerce/store‑side limits and infrastructure - Verify if you have enabled custom rate limiting or other protections (e.g., WAF, reverse proxy, CDN rules) that might return 503 when seeing many requests. - If custom rate limits are set, make sure
maxSecondsBetweenMessages
in the WooCommerce connector configuration matches the maximum seconds between API calls recommended for your store.[[WooCommerce limits](https://docs.airbyte.com/integrations/sources/woocommerce#limitations--troubleshooting)] 2. Tune backoff / error handling for 503s - Airbyte’s HTTP streams retry 5xx codes with exponential backoff by default.[[Error handling](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/error-handling)] - For APIs that intermittently return 503, Airbyte recommends using exponential backoff and limiting retries to avoid very long runs.[[Common patterns](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/error-handling#common-error-handling-patterns)] - In a YAML/config‑based or Builder‑based custom connector, you can explicitly: - Add a response filter for
http_codes: [503]
with
action: RETRY
, and - Use an Exponential backoff strategy (or increase the factor) so that retries back off more aggressively.[[Error handling](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/error-handling); [Backoff strategies](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/error-handling#backoff-strategies)] 3. Correlate 503s with high‑volume endpoints - You’ve noticed it more on
orders
and other large tables; that aligns with load‑related 503 behaviour. - To confirm: - Temporarily reduce the amount of data per sync (shorter date range / incremental cursor closer to “now” if applicable). - Run during off‑peak hours on your WooCommerce host and see if 503 frequency drops. 4. Compare with general Airbyte guidance on rate limiting - For rate‑limited APIs, the recommended pattern is: - Use exponential backoff (or header‑based backoff if the API exposes it), - Set response filters for 429/5xx codes, - Keep max retries in a reasonable range (5–10).[[Common patterns](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/error-handling#common-error-handling-patterns)] - While WooCommerce’s public docs in the snippet only mention custom rate limits in terms of
maxSecondsBetweenMessages
, the general pattern for 503s is still to back off and avoid hammering the API. 5. If you still cannot reproduce with manual calls - Airbyte syncs may be more intensive (sustained, paginated requests across multiple streams) than your manual test. - Try to approximate Airbyte’s pattern: - Multiple sequential requests on
orders
with the same pagination size as the connector. - Run from the same network path (same proxy/CDN/firewall) as Airbyte, as network appliances can also inject 503s under load (though the docs here don’t go into that detail). Because the public WooCommerce connector documentation only explicitly documents custom rate limiting via
maxSecondsBetweenMessages
and not specific 503 bugs or patches, I cannot point to a known WooCommerce‑connector bug for this; the evidence from the docs indicates this is a general server‑side 503 + Airbyte’s normal retry behaviour rather than a documented connector defect.[[WooCommerce limits](https://docs.airbyte.com/integrations/sources/woocommerce#limitations--troubleshooting); [Error handling](https://docs.airbyte.com/platform/connector-development/config-based/understanding-the-yaml-file/error-handling)] If you can share whether you’ve configured custom rate limits on WooCommerce and what
maxSecondsBetweenMessages
is set to in your connector, I can help interpret how aggressively Airbyte is currently calling your store.
s
@kapa.ai and how can I specify the maxSecondsBetweenMessages thing from the airbyte OS user interface? I cannot find it on the connection setings.
k
A message from kapa.ai
You can’t set
maxSecondsBetweenMessages
from the Airbyte OSS web UI for the WooCommerce source. In the official docs,
maxSecondsBetweenMessages
is described as a field in the connector’s
metadata.yaml
file (used for connector metadata and heartbeat tuning), not as a user‑visible configuration option on the source or connection forms.[[Metadata QA checks](https://docs.airbyte.com/community/contributing-to-airbyte/resources/qa-checks#-metadata)] For WooCommerce specifically, the rate‑limit guidance also refers to setting this value in
metadata.yaml
.[[WooCommerce limits](https://docs.airbyte.com/integrations/sources/woocommerce#limitations--troubleshooting)] Since there is no mention in the docs of exposing this field in the OSS UI, the supported way (from the available documentation) is to change it in the connector’s
metadata.yaml
in the connector repo/image, not via the UI.