Request Error - "LOCK_ACQUISITION_TIMEOUT"


#1

We’re seeing a response from the targeting API that we haven’t seen before. It’s inconsistent, but frequent, and we haven’t see it prior to 18 May ~ 23:35 UTC.
{u'errors': [{u'message': u'The resource you are accessing is locked. Please retry the request again later.', u'code': u'LOCK_ACQUISITION_TIMEOUT'}], u'request': {u'params': {}}}

Is this familiar to anyone?


#2

Hey @fjania - could you give us some example requests (preferably using twurl) that cause this to fail?

What proportion of your requests are yielding an error? Do you have retry logic when a request fails with exponential back-off in place?


#3

@fjania this is a new error type and we failed to document adequately before it reached production. I’ll make sure that gets documented here shortly.

On some write operations, during critical sections of the write operation, the object hierarchy being modified gets locked so that edits don’t conflict with each other or cause problems in downstream objects. This is done at the account level in order to calculate things like campaign limits, active line item limits, etc. There is a 2 second timeout that gets raised if this lock is held too long.

The most common cause of this issue is write latency or a backup on our end causing a bit of a traffic jam. The best action for you to take here is to go ahead and follow the instructions in the error message and retry the request if it’s safe to do so after a short delay.

This is not an exception you should be seeing often. This should only be seen very rarely. As @andrs noted, if you are seeing this a large portion of the time please let us know so we can look into it more.