DatabaseError.CONCURRENT_MODIFICATION

58 views
Skip to first unread message

Aaron Cheshire

unread,
May 16, 2019, 12:26:47 PM5/16/19
to AdWords API and Google Ads API Forum
Hello,

I'm having a strange issue. I'm trying to upload bid changes using the AdWords API and the API is responding with the CONCURRENT_MODIFICATION error. However, I have verified the following things:
  • My request does not contain any duplicate entities. There are duplicate criterionIds, but they have different adGroupIds.
  • POST parallelization shouldn't be an issue because our chunk size of 2000 and there are only about 1800 changes in the request.
  • Based on the Change History in the AdWords interface, there are no other changes being made to the account at the time of the request.
I experimented with this a bit to try to find the cause, but was unsuccessful. However, I will report my findings here in case they help:
  • I've tried making this request at different times of the day and saw the same result.
  • If I try to make the same changes, but through a manual tsv file upload instead of through the API, the upload is successful.
  • I changed my chunk size to 10 and all ~180 requests were successful.
  • I changed my chunk size to 1000 and the first request was successful, but the last one was not.
    • I have the request id for the failed request in this case, not sure if that's something safe to share publicly.
Any ideas? Please let me know if you need more information.

Thank you,
Aaron Cheshire


P.S. I tried to undo the successful 1000 bid changes that I made during my experimentation (the UNDO button is present) and I get the message that "These changes can't be undone." I would also like to know why these can't be undone (I tried only seconds after the changes were made). Maybe this is related? Not sure.

googleadsapi...@google.com

unread,
May 17, 2019, 12:01:57 AM5/17/19
to adwor...@googlegroups.com
Hi Aaron,

Thank you for providing a detailed description about the issue you encountered. So I can further investigate, could you also provide the complete SOAP request and response logs that were generated when the error occurred? You may send your reply via the Reply privately to author option.

Best regards,
Peter
Google Ads API Team

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
 
You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwor...@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscribe@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
---
You received this message because you are subscribed to the Google Groups "AdWords API and Google Ads API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email to adwords-api+unsubscribe@googlegroups.com.
Visit this group at https://groups.google.com/group/adwords-api.
To view this discussion on the web visit https://groups.google.com/d/msgid/adwords-api/39063454-b453-460d-91f6-83a70d9027ad%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Google Ads API Forum Advisor Prod

unread,
May 20, 2019, 9:56:00 PM5/20/19
to adwor...@googlegroups.com
Hello Aaron,

Your idea of going through the Change History for your account was an excellent one. That was my first place to look as well. What I found during that time for that account was that there are Google Ads scripts running in that account at the same time. Only a minute or so before your request ran, another request ran to update the keywords for the same ad groups where you were attempting to update bidding. 

It appears that when that script runs, it is still processing on the back-end when you request to update the same ad groups. This is why you are seeing this kind of error. My recommendation is to either make the scripts less frequent, or you need to create an error handling model in your code for accounts like this that whenever this happens, partial failure should be set up and the operations that failed should be retried.

Cheers,
Nadine Sundquist, Google Ads API Team

ref:_00D1U1174p._5001UAptbS:ref
Reply all
Reply to author
Forward
0 new messages