Expectations of partial data output in BulkOperations that fail with a TIMEOUT status

Shopify Partner
6 0 2



I'll start with a bit of context. We have been testing using the GraphQL BulkOperation methods to fetch order data, one reason being to avoid high maintenance overhead and implementation complexity that comes with using the REST API (e.g. handling lots of 500s and 429s to finish in a reasonable amount of time) when fetching orders at scale for large shops.


However, using BulkOperations, we've received TIMEOUT errors when trying to fetch large chunks of historical data for such shops. In these cases, a `partialDataUrl` value is always returned and we've noticed that it includes all orders created before a certain datetime (indicated by createdAt).


So my question is, can we safely assume when a query results in a TIMEOUT that root objects (orders in this case) in the partial data output will include all created and not deleted up until the most recently created object in the output?


Also, in the docs, there is little about what TIMEOUT status means and how to avoid it other than to say "try using less fields". Is there any other information or behavior around what happens in a timeout that you (staff) can provide here?


Thank you

Replies 0 (0)