Shopify GraphQL ECONNRESET

I have a flow set up to update the inventory on Shopify using GraphQL. it works but one problem I'm running into is "Connection to remote server is closed. [read ECONNRESET]". When this error occurs some products do not get updated. Is there a way to prevent this?

@joseph do you see that these errors are auto retrying? Do you have auto resolve enabled on your flow? This error should be classified as "intermittent" and should be getting auto retried per the logic in this doc: https://docs.celigo.com/hc/en-us/articles/16182564553371-Retry-or-resolve-errors#automatically-retry-intermittent-errors.

@tylerlamparter Thanks for the quick response. I have auto-resolve enabled. The errors are auto-resolving but they are missing the records and only update once I rerun the flow. I haven't tried debug mode so I will give that a shot once I run the flow on Monday.

@tylerlamparter

Debug mode presented the issue: connection being throttled. How would I go about setting up the:

Path to rate-limit error field in HTTP response body?

2024-03-04T14:24:51.745Z 434beb44bbc84083a7284fd6781efe56 import 65dc0ab9abbcc7571c9a63ef
{"headers":{"date":"Mon, 04 Mar 2024 14:24:51 GMT","content-type":"application/json; charset=utf-8","transfer-encoding":"chunked","connection":"close","x-sorting-hat-podid":"297","x-sorting-hat-shopid":"74563322154","vary":"Accept-Encoding","referrer-policy":"origin-when-cross-origin","x-frame-options":"DENY","x-shopid":"74563322154","x-shardid":"297","x-stats-userid":"","x-stats-apiclientid":"87706959873","x-stats-apipermissionid":"686120370474","x-shopify-api-terms":"By accessing or using the Shopify API you agree to the Shopify API License and Terms of Use at https://www.shopify.com/legal/api-terms","x-shopify-api-version":"2024-01","content-language":"en","strict-transport-security":"max-age=7889238","x-request-id":"8f39c1d9-e951-4275-88a8-8a2c04d851b7-1709562291","server-timing":"processing;dur=39, graphql;desc=\"admin/mutation/other\", cfRequestDuration;dur=85.999966","x-shopify-stage":"production","content-security-policy":"default-src 'self' data: blob: 'unsafe-inline' 'unsafe-eval' https://* shopify-pos://*; block-all-mixed-content; child-src 'self' https://* shopify-pos://*; connect-src 'self' wss://* https://*; frame-ancestors 'none'; img-src 'self' data: blob: https:; script-src https://cdn.shopify.com https://cdn.shopifycdn.net https://checkout.shopifycs.com https://api.stripe.com https://mpsnare.iesnare.com https://appcenter.intuit.com https://www.paypal.com https://js.braintreegateway.com https://c.paypal.com https://maps.googleapis.com https://www.google-analytics.com https://v.shopify.com 'self' 'unsafe-inline' 'unsafe-eval'; upgrade-insecure-requests; report-uri /csp-report?source%5Baction%5D=query&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fgraphql&source%5Bsection%5D=admin_api&source%5Buuid%5D=8f39c1d9-e951-4275-88a8-8a2c04d851b7-1709562291","x-content-type-options":"nosniff","x-download-options":"noopen","x-permitted-cross-domain-policies":"none","x-xss-protection":"1; mode=block; report=/xss-report?source%5Baction%5D=query&source%5Bapp%5D=Shopify&source%5Bcontroller%5D=admin%2Fgraphql&source%5Bsection%5D=admin_api&source%5Buuid%5D=8f39c1d9-e951-4275-88a8-8a2c04d851b7-1709562291","x-envoy-upstream-service-time":"41","x-dc":"gcp-us-east4,gcp-us-east1","content-encoding":"gzip","cf-cache-status":"DYNAMIC","report-to":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=hhMlZJUdd27lqXpnioL8bijiX8%2BMsJbGPYrGuKOLIwjIrMwJ2RL%2BnVPG8ncGtfUjhSWkndqaVAo8myvymvybAFrnhw9okrJx1idDAsUt%2BTs%2FmM6r3DZVCgSm4WpeWS0s2vEOutKMQj9e%2FA%3D%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}","nel":"{\"success_fraction\":0.01,\"report_to\":\"cf-nel\",\"max_age\":604800}","server":"cloudflare","cf-ray":"85f28842480682cc-IAD","alt-svc":"h3=\":443\"; ma=86400"},"body":"{\"errors\":[{\"message\":\"Throttled\",\"extensions\":{\"code\":\"THROTTLED\",\"documentation\":\"https://shopify.dev/api/usage/rate-limits\"}}],\"extensions\":{\"cost\":{\"requestedQueryCost\":10,\"actualQueryCost\":null,\"throttleStatus\":{\"maximumAvailable\":4000.0,\"currentlyAvailable\":9,\"restoreRate\":200.0}}}}"}

@joseph that looks like a rate limit (throttle) instead of econreset. Rate limit should be auto retried if you have auto retry enabled on the connection. Do you have that enabled?

@tylerlamparter

Correct I Do.

@joseph do you see errors in the retry log where these were auto resolved by the system? If you go to the import bubble > errors > retries > then see how things were auto resolved. Also, on the connection audit log, do you see the concurrency of your connection being changed by the system?

@tylerlamparter Thanks for the quick reply! The only error I'm receiving is "Connection to remote server is closed. [read ECONNRESET]" and It's being Auto-resolved. As for the concurrency it is not being changed by the system.