DatabaseError.CONCURRENT_MODIFICATION

165 views
Skip to first unread message

ci.wbd...@gmail.com

unread,
Apr 10, 2019, 6:55:09 AM4/10/19
to AdWords API and Google Ads API Forum
Hi Team,

      We are currently trying to upload UserList into GoogleAds Manager Account  userListService.mutateMembers via Java API and it works fine when I try to upload 1 list into the audience list but its failing with [DatabaseError.CONCURRENT_MODIFICATION @ com.google.ads.api.services.campaignmgmt.common.error.DatabaseError.<init&gt error when I try to split input list when userlist exceeds 500000 members limit. I can understand that this issue is because its trying to update the backend audience table when already an update is in progress. Right now I am trying to add delays of 1-2 minutes between multiple userListService.mutateMembers calls. Is there any way to tackle this issue?

Or correct me if my understanding is incorrect w.r.t the issue. We are trying to upload CRMbasedUserlist into googleads account.

Thanks.

googleadsapi...@google.com

unread,
Apr 10, 2019, 3:42:06 PM4/10/19
to AdWords API and Google Ads API Forum
Hello,

You are right about the issue. The DatabaseError.CONCURRENT_MODIFICATION error occurs when multiple processes are trying to update the same entity at the same time. Adding delays would be sufficient when ever the error occurs.

Regards,
Sai Teja, Google Ads API Team


=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    https://ads-developers.googleblog.com/search/label/google_ads_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

Message has been deleted
Message has been deleted

ci.wbd...@gmail.com

unread,
Apr 11, 2019, 12:32:02 AM4/11/19
to AdWords API and Google Ads API Forum
Thank you for the reply.  Now I am stuck up with another issue. When I am splitting up into multiple groups and uploading it into the same userlist, is there any way to identify how many userids have been uploaded altogether into the userlist before Google does Hashmapping with their list? As of now, when the population of the list is completed, I could see only the Search/Gmail/Youtube matched number of users in the Size column in Audience list but  not the original number of users uploaded.

Also do confirm whether the mutatemembers list size is 500000 fixed or could be made variable as I saw in few posts that the limit was increased to 900000. We are using 201809 API library.

Also is there a way to suppress the error as we are trying to update multiple times the same list due to the imposed size limitation and we could make sure that the list is mutually exclusive of each other? 

For an example: If we upload 100 emailids out of which 30 are duplicates and 70 are unique, will the Google maintain 70 in their backend or 100?

Can you please let me know which DB is used in the backend to hold the account user/campaign lists?

Thanks,
Aishwarya

googleadsapi...@google.com

unread,
Apr 11, 2019, 3:38:21 PM4/11/19
to AdWords API and Google Ads API Forum
Hello Aishwarya,

Please find the response below inline:
  1. is there any way to identify how many userids have been uploaded altogether into the userlist before Google does Hashmapping with their list?
  1. You could use sizeRange field of the UserList to get the size range in terms of number of users of the UserList but not the exact number of userids in the list. 

  1. As of now, when the population of the list is completed, I could see only the Search/Gmail/Youtube matched number of users in the Size column in Audience list but not the original number of users uploaded.
  1. For example if you upload a list with 1000 users and only 600 of them is targettable by the Google networks then the 600 is dispersed across Search/Gmail/Youtube netwooks and the rest of the 400 is not shown as they are not targetable.

  1. Also do confirm whether the mutatemembers list size is 500000 fixed or could be made variable as I saw in few posts that the limit was increased to 900000. We are using 201809 API library.
  1. 500000 is the limit on the number of members in each mutateMember request.

  1. Also is there a way to suppress the error as we are trying to update multiple times the same list due to the imposed size limitation and we could make sure that the list is mutually exclusive of each other? 
  1. As specified earlier adding delays as and when the error occurs is sufficient. Basically, you have to make sure only one thread is working on a particular entity at a time to avoid concurrent modifications error.

  1. For an example: If we upload 100 emailids out of which 30 are duplicates and 70 are unique, will the Google maintain 70 in their backend or 100?
  1. The upload of the duplicate members via the API will not fail. The list will be automatically de-duplicating already existing users. So the 70 will be added to the existing userlist.

  1. Can you please let me know which DB is used in the backend to hold the account user/campaign lists?
  1. Since it is a product related question, I recommend you to post this question on the Advertisers community form. The product experts there would be able to assist with this.
Regards,
Sai Teja, Google Ads API Team


=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    https://ads-developers.googleblog.com/search/label/google_ads_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

Was your question answered? Please rate your experience with us by taking a short survey.
If not -- reply to this email and tell us what else we can do to help.

Take Survey

Also find us on our blog and discussion group:
http://googleadsdeveloper.blogspot.com/search/label/adwords_api
https://developers.google.com/adwords/api/community/

--
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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/574243d1-6eef-4be1-bb03-c64c040ee33b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

ci.wbd...@gmail.com

unread,
Apr 13, 2019, 2:06:06 PM4/13/19
to AdWords API and Google Ads API Forum
Hi Sai Teja,

      Thank you for the responses. One follow question regarding point 1. I have attached the screenshot for your reference as well. SizeRangeForSearch field is showing almost acceptable number of users I uploaded from my end and almost equal to the matched  % of users displayed in the UI. But SizeRange which as per the naming convention doesn't segregate to any separate set of list like youtube/search/display is showing a value less than the above search users count. Could you please help me in understanding what does this count refer to?

     Also I could not find not any API to get reporting information of an user list like what we see in UI as a table(with matched count for each category like gmail/youtube/display/search and number of valid/invalid uploads rejected in match) and to remove the list(there is an option to set the membership duration to 0 to avoid targeting). Could you please point me to one if I overlooked it?

     When I remove an audience from UI, it moves to removed audience category. How to remove them from removed audience list as well? Is there recycle mechanism ? If yes can you please let me know the cycle    

Capture.PNG







Thanks,
Aishwarya

ci.wbd...@gmail.com

unread,
Apr 24, 2019, 1:21:53 PM4/24/19
to AdWords API and Google Ads API Forum
Hi Team,

       Could anyone update on the below items?

Thanks

googleadsapi...@google.com

unread,
Apr 24, 2019, 5:44:42 PM4/24/19
to AdWords API and Google Ads API Forum
Hello Aishwarya,

I have sent the below response to you email privately, If you have any further questions please let me know.
  • The sizeRange field must be related to the display, you could verify it by matching with the UI where the number of targetable users for the audience over the targeting networks is displayed.

  • If it not possible to repot the audience screen via API. But you can get most of the information by fetching the UserList via API with the AdWordsUserListService.

  • You could use the status field to either OPEN(can be targeting and accumulate audiences) or CLOSE(cannot be targeted and no new members being added) to the userlist. Also, can keep the membershipLifeSpan to zero.

  • Once the audience list is removed it is not possible to use it again and it cannot be removed from removed list as well. You have to upload them again.
Regards,
Sai Teja, Google Ads API Team

=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog and discussion group:
    https://ads-developers.googleblog.com/search/label/google_ads_api
    https://developers.google.com/adwords/api/community/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Reply all
Reply to author
Forward
0 new messages