"bulkOperationRunMutation" does not create all products

I need help, I am using the Graphql api to do a “bulkOperationRunMutation”. But for example, out of 10 products that are sent in the JSONL, some products are not created, that happens randomly, if I send the mutation again (with the same JSONL), the products that were not previously created are now created and vice versa.

We have already reviewed the JSONL that we are uploading and it is correctly formatted as well as its structure.

We need to resolve this because we are preventing development of a Shopify app from continuing.

Hi @jpena ,

I haven’t been able to replicate this issue on a test store, but can you share any more details about your JSONL inputs? Are you creating products with a large amount of variants or other information, or is there any other pattern with the products that fail to be initially created?

Instead of retrying the same inputs with products that have already been created, what happens if you re-try with just the product information that failed? Do you consistently have a certain percentage of failures?

This isn’t an authenticated support channel, but if you can’t identify any pattern to the bulk product creation failures but can consistently replicate an issue then I’d recommend reaching out to technical support with the specific details of the bulk operation that failed as well as the expected vs actual result so they can take a closer look.

Hope that helps!

  • James

Hi Jpena,

If you’re seeing inconsistent results with your bulkOperationRunMutation operation, there are a few things you might want to check:

  1. Error Handling: First, ensure that you’re correctly handling any errors that might be returned from the operation. The bulkOperationRunMutation operation includes a userErrors field that can provide information about any issues with the operation. Check this field in the operation’s response to see if any errors are being returned.

  2. Rate Limiting: Shopify uses a leaky bucket algorithm to control the rate of API calls. If you’re making many calls in a short period of time, you might be hitting these rate limits, causing some of your operations to fail. Add delay between your calls or use the X-Shop-Shop-Api-Call-Limit header to manage your API usage.

  3. Data Consistency: Even though you’ve already checked your JSONL file, it’s worth double-checking for any inconsistencies in data you’re sending. For example, ensure you’re not trying to create products with duplicate handles, which would cause those operations to fail.

Try exploring the above options and if you’re still seeing issues, I’d recommend reaching out to Shopify’s support team who can look into this deeper.

Hope this helps,

Hi Liam!

I am sending a payload to the BulkOperation as it comes in the attached file named “products”, which contains 14 products that I want to create.

But when running the operation, the JSONL that Shopify returns is the attachment called bulk-3538713739546, as you can see it only creates 11 products. But this seems random, if I call the bulkOperation again passing exactly the same 14 products without altering anything else it returns the following JSONL bulk-3538822332698, which as you can see now the operation does create the 14 products correctly, but once again , if I send the same 14 products again, it now returns the following JSONL, the following JSONL bulk-3538822332698 where you can see that now I only create 12 products.

As you can see, the creation values seem random since the exact same payload is being sent and the response of the operation is successful, it does not mark any error.

Here I leave the link to Mediafire where the JSONL files are hosted because I couldn’t attach the files to this response directly: https://www.mediafire.com/folder/8d74vnthjj9ot/ShopifySupport