Hi,

For ads and keywords locking takes place at an ad group level.  That
is to say that you can't ADD/SET/REMOVE entities in the same ad group
at the same time.  It is recommended to catch these errors and retry
your request, but you may also want to segment your updates so that
different threads will not operate against the same ad group.

Best,
- Eric Koleda, AdWords API Team

On Feb 11, 9:42 am, Magnus <magnus.lj...@gmail.com> wrote:
> Hi,
>
> When we have to upload changes to a campaign using the 200909 API we
> upload both ad and keywords changes at the same time using two
> threads. Sometimes we get a DatabaseError.CONCURRENT_MODIFICATION
> back. So my question is what concurrent modifications are allowed? Do
> we have to deal with one campaign at a time or one account or
> something else?
>
> Here are the SOAP request and response that caused the error:
>
>  <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w
> 3.org/2001/XMLSchema-instance"><soapenv:Header><ns1:RequestHeader
> soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next";
> soapenv:mustUnderstand="0" xmlns:ns1="https://adwords.google.com/api/
> adwords/cm/v200909"><ns1:applicationToken>TwAbF7xAay84
> ntBUiLrIaw</ns1:applicationToken><ns1:authToken xmlns:ns1="https://
> adwords.google.com/api/adwords/cm/v200909">******</
> ns1:authToken><ns1:clientCustomerId>9940465121</
> ns1:clientCustomerId><ns1:developerToken>p2yMk6iT8bAMXbyt3cCuOQ</
> ns1:developerToke
> n><ns1:userAgent>AdWords API Java Client Library - v6.4.0 - Keybroker
> Campaign Control 1.0</ns1:userAgent><ns1:validateOnly>false</
> ns1:validateOnly></ns1:RequestHeader></
> soapenv:Header><soapenv:Body><mutate xmlns="https://adwords.google.com/
> api/adw
> ords/cm/v200909"><operations><operator>REMOVE</operator><ns2:operand
> xsi:type="ns2:BiddableAdGroupCriterion" xmlns:ns2="https://
> adwords.google.com/api/adwords/cm/v200909"><ns2:adGroupId>1569734428</
> ns2:adGroupId><ns2:criterion xsi:type="ns2:Keyword
> "><ns2:id>16137165568</ns2:id><ns2:text>Bahsybdf</
> ns2:text><ns2:matchType>BROAD</ns2:matchType></
> ns2:criterion><ns2:userStatus>DELETED</ns2:userStatus><ns2:bids
> xsi:type="ns2:ManualCPMAdGroupCriterionBids"><ns2:maxCpm><ns2:amount><ns2:m 
> icroAmount>0
> </ns2:microAmount></ns2:amount></ns2:maxCpm></ns2:bids></ns2:operand></
> operations><operations><operator>REMOVE</operator><ns3:operand
> xsi:type="ns3:BiddableAdGroupCriterion" xmlns:ns3="https://
> adwords.google.com/api/adwords/cm/v200909"><ns3:adGroup
> Id>1569734428</ns3:adGroupId><ns3:criterion
> xsi:type="ns3:Keyword"><ns3:id>16137165658</ns3:id><ns3:text>Kalsimf</
> ns3:text><ns3:matchType>BROAD</ns3:matchType></
> ns3:criterion><ns3:userStatus>DELETED</ns3:userStatus><ns3:bids
> xsi:type="ns3:ManualCPM
> AdGroupCriterionBids"><ns3:maxCpm><ns3:amount><ns3:microAmount>0</
> ns3:microAmount></ns3:amount></ns3:maxCpm></ns3:bids></ns3:operand></
> operations><operations><operator>REMOVE</operator><ns4:operand
> xsi:type="ns4:BiddableAdGroupCriterion" xmlns:ns4=
> "https://adwords.google.com/api/adwords/cm/
> v200909"><ns4:adGroupId>1569734428</ns4:adGroupId><ns4:criterion
> xsi:type="ns4:Keyword"><ns4:id>16137165388</ns4:id><ns4:text>Nalsinff</
> ns4:text><ns4:matchType>BROAD</ns4:matchType></ns4:criterion><ns4:use
> rStatus>DELETED</ns4:userStatus><ns4:bids
> xsi:type="ns4:ManualCPMAdGroupCriterionBids"><ns4:maxCpm><ns4:amount><ns4:m 
> icroAmount>0</
> ns4:microAmount></ns4:amount></ns4:maxCpm></ns4:bids></ns4:operand></
> operations><operations><operator>ADD</operator><
> ns5:operand xsi:type="ns5:BiddableAdGroupCriterion" xmlns:ns5="https://
> adwords.google.com/api/adwords/cm/v200909"><ns5:adGroupId>1569739198</
> ns5:adGroupId><ns5:criterion
> xsi:type="ns5:Keyword"><ns5:text>Bahsybdf</
> ns5:text><ns5:matchType>BROAD</ns5:
> matchType></ns5:criterion><ns5:userStatus>ACTIVE</
> ns5:userStatus><ns5:bids
> xsi:type="ns5:ManualCPCAdGroupCriterionBids"><ns5:maxCpc><ns5:amount><ns5:m 
> icroAmount>20000000</
> ns5:microAmount></ns5:amount></ns5:maxCpc></ns5:bids></ns5:operand></
> operations><operations><operator>ADD</operator><ns6:operand
> xsi:type="ns6:BiddableAdGroupCriterion" xmlns:ns6="https://
> adwords.google.com/api/adwords/cm/v200909"><ns6:adGroupId>1569739198</
> ns6:adGroupId><ns6:criterion xsi:type="ns6:Keyword"><ns6:text>Kalsi
> mf</ns6:text><ns6:matchType>BROAD</ns6:matchType></
> ns6:criterion><ns6:userStatus>ACTIVE</ns6:userStatus><ns6:bids
> xsi:type="ns6:ManualCPCAdGroupCriterionBids"><ns6:maxCpc><ns6:amount><ns6:m 
> icroAmount>20000000</
> ns6:microAmount></ns6:amount></ns6:max
> Cpc></ns6:bids></ns6:operand></operations><operations><operator>ADD</
> operator><ns7:operand xsi:type="ns7:BiddableAdGroupCriterion"
> xmlns:ns7="https://adwords.google.com/api/adwords/cm/
> v200909"><ns7:adGroupId>1569739198</ns7:adGroupId><ns7:criterion
>  xsi:type="ns7:Keyword"><ns7:text>Nalsinff</
> ns7:text><ns7:matchType>BROAD</ns7:matchType></
> ns7:criterion><ns7:userStatus>ACTIVE</ns7:userStatus><ns7:bids
> xsi:type="ns7:ManualCPCAdGroupCriterionBids"><ns7:maxCpc><ns7:amount><ns7:m 
> icroAmount>20000000
> </ns7:microAmount></ns7:amount></ns7:maxCpc></ns7:bids></ns7:operand></
> operations></mutate></soapenv:Body></soapenv:Envelope>
>
> <?xml version="1.0" encoding="UTF-8"?><soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/
> envelope/"><soap:Header><ResponseHeader xmlns="https://
> adwords.google.com/api/adwords
> /cm/v200909"><requestId>ff5dc623d3ee16a0280d99feadfe000c</
> requestId><operations>0</operations><responseTime>2056</
> responseTime><units>1</units></ResponseHeader></
> soap:Header><soap:Body><soap:Fault><faultcode>soap:Server</
> faultcode><faultstring>DatabaseError.CONCURRENT_MODIFICATION @ </
> faultstring><detail><ApiExceptionFault xmlns="https://
> adwords.google.com/api/adwords/cm/
> v200909"><message>DatabaseError.CONCURRENT_MODIFICATION @ </
> message><ApplicationException.Type>ApiException</
> ApplicationException.Type><errors xsi:type="DatabaseError"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";><fieldPath/><trigger/><ApiError.Type>DatabaseError</
>
> ApiError.Type><reason>CONCURRENT_MODIFICATION</reason></errors></
> ApiExceptionFault></detail></soap:Fault></soap:Body></soap:Envelope>

-- 
You received this message because you are subscribed to the Google Groups 
"AdWords API Forum" group.
To post to this group, send email to adwords-...@googlegroups.com.
To unsubscribe from this group, send email to 
adwords-api+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/adwords-api?hl=en.

Reply via email to