This mutation is unavailable at the moment. Try again

Lately, our app sees quite a few messages This mutation is unavailable at the moment. Try again. when using productSet in bulk mutations. And indeed, trying again seems to fix the issue.

I have seen similar topics in the forum, but not exactly with the same error message and they were related to media IDs.

Is there anybody here with the same issue?

If Shopify staff is interested, I have tons of request IDs I can share.

Hey @AppsByB :waving_hand: - that is odd, thanks for flagging. Out of curiosity, would you be able share an x-request-id from the API response headers for an example of where you see that “try again” error message?

I can take a look in our logs to narrow down what might be happening there. Just out of curiosity, are you running multiple productSet mutations one after the other in synchronous mode?

I can’t say for certain, but I am wondering if it may have to do with concurrency configuration on our end. Happy to look into this further for you though!

Hi Alan,

Here are some request IDs from yesterday and today:

May 22nd, 880d6382-a455-48ef-b80f-2b208fc0456e-1747989006
Today, 2be08902-7764-4846-969e-13d568082a68-1748007889

Since the same ID is listed for each error in the JSONL bulk file, I assume it’s the ID of the bulk mutation.

It happens on multiple stores in our app. I manage plenty of other apps with bulk mutations, somehow it doesn’t happen there.

My feeling is that it’s related to images, because that’s the only thing in this app that could be unstable.

Thanks @AppsByB - I’ll look into this further on my end here and loop back with you once I have next steps - speak soon!

Are you still seeing this issue @AppsByB ? We return UNAVAILABLE for error conditions which may be temporary, and advise retrying (with delay) to see if it works when tried later.

Hi Liam! First of all, great to see you again at Editions.dev!

This message still occurs daily, especially with bulk operations that include a lot of remote images. Once the bulk operation is finished and the JSONL is available, we simply scan which products have failed and automatically start a new bulk operation for those products. So far we reach a 100% success rate after a maximum of 3 tries, so it’s not a big problem anymore. If you want to dig deeper to find the cause, just let me know what you need and I will try to provide it.

:waving_hand: :slight_smile:

I’ve reconnected with our team internally to see why this may be happening - your workaround seems reliable but you shouldn’t need to re-run bulk operations.

Hey @AppsByB :waving_hand: - just reaching out here after touching base with Liam and the team internally. Right now, we can confirm that for highly concurrent requests, it is expected form them to specifically lead to UNAVAILABLE conditions like Liam mentioned.

I can’t share much of the internal logic for this, but we know that this error does pop up mainly due to deadlocks caused by high concurrency and is expected behaviour at the moment. Right now, retrying the queries when needed is our suggested workaround.

Glad to hear it’s not a large issue for you though - if it does occur again more frequently, can you let us know and we’ll take another look? Hope this helps!

Thanks @Alan_G and @Liam-Shopify , I’ll keep an eye on it

1 Like