Is it always the same instances that are affected? Have support checked what customers you are sharing your box with? Maybe another customer is running campaigns that are hogging the box.
Yes it's the same couple instances repeatedly affected. I'm also familiar with Error Handling. But my hands are tied:
1- The job is executed despite 604 error from Marketo; so exponential backoff would cause a duplicate job.
2- I can't further split as this is related to a campaign schedule - not batch import/update.
I'll continue to work with support to check on performance and see if we can add more resources...
I also have found myself in this situation, starting 2018-10-05. I am doing batch updates, but there is not much correlation between timeout and batch size. They time out occasionally when attempting to update < 30 records, but succeed regularly with 100+. The content of the failing updates does not seem significantly different. The operation should be idempotent, so I am considering setting a client-side timeout and retrying rather than waiting the full 90 seconds that the server seems to give. I am interested to hear if you have any insight based on your experience with support, or if anyone else has recommendations.
I know async is an option for this, but I would really like to avoid the complexity of polling for task completion if at all possible. I'm hoping the wide latency variation is an issue on Marketo's end.
Can't say much about this without call details, but I trust support can help with that. What I can say is that I've seen - with the Merge API - that a merge sometimes takes more than 180 seconds and then it gives a 604, however, the merge continues in the background and completes successfully. So if you would retry, it would say 'Lead not found' because the merge already took place. If you retry too soon (while the merge is ongoing, after timeout) it will give a 611 system error. However, there are very few API calls - other than Merge - that should take more than 180 seconds to complete, so this may not apply to your situation at all.