Hi Chandra,

Unfortunately there is no exact time that will prevent these types of
errors of coming up from time to time.  Your best bet is to:

1) Batch your updates together in fewer requests (http://
adwordsapi.blogspot.com/2010/03/discover-v2009-do-more-with-
mutate.html)
2) Catch this type of error, pause for a few seconds, and try again.

Best,
- Eric

On Mar 24, 9:55 am, Chandra Bhandaru <[email protected]>
wrote:
> Eric,
>
> Is there recommended wait between two same ad group or campaign?
>
> Would say a 5 sec delay suffice?
>
> Chandra
>
> On Mar 23, 12:12 pm, AdWords API Advisor
>
>
>
> <[email protected]> wrote:
> > Hi,
>
> > The most common causes of this error are:
>
> > - Two threads working on the same account at the same time.
> > - Two updates to the same ad group or campaign in short succession.
>
> > In both cases the recommended reaction is to wait for a few seconds
> > and try the request again.
>
> > Best,
> > - Eric Koleda, AdWords API Team
>
> > On Mar 23, 8:27 am, "Pete Lavetsky (AdWords API Guru)"
>
> > <[email protected]> wrote:
> > > We used to get this when we tried running two mutate operations
> > > simultaneously on the same account ... could be any mix of
> > > services ... Campaign + AdGroup, Keyword + Keyword ... etc
>
> > > Pete
>
> > > On Mar 22, 12:58 pm, SEM <[email protected]> wrote:
>
> > > > Hi,
>
> > > > We are seeing this API error being thrown many times for some of our
> > > > clients with
> > > > com.google.api.adwords.cm.AdGroupCriterionServiceSoapBindingStub.mutate()
> > > > API call while trying to update ad group criteria (keywords). We are
> > > > using Google Adwords v200909 API.
>
> > > > Please let us know what is the cause for this error.
>
> > > > Thanks,
> > > > semdev
>
> > > > Error Stacktrace:
> > > > -----------------
> > > > AxisFault
> > > >  faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server
> > > >  faultSubcode:
> > > >  faultString: DatabaseError.CONCURRENT_MODIFICATION@
> > > >  faultActor:
> > > >  faultNode:
> > > >  faultDetail:
> > > >         {https://adwords.google.com/api/adwords/cm/v200909}
> > > > ApiExceptionFault:<message>DatabaseError.CONCURRENT_MODIFICATION@ </
> > > > message><ApplicationException.Type>ApiException</
> > > > ApplicationException.Type><errors xmlns:xsi="http://www.w3.org/2001/
> > > > XMLSchema-instance" 
> > > > xsi:type="DatabaseError"><fieldPath/><trigger/><ApiError.Type>DatabaseError
> > > >  </
>
> > > > ApiError.Type><reason>CONCURRENT_MODIFICATION</reason></errors>
>
> > > > DatabaseError.CONCURRENT_MODIFICATION@
> > > >         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> > > > Method)
> > > >         at
> > > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAcce
> > > >  ssorImpl.java:
> > > > 39)
> > > >         at
> > > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstru
> > > >  ctorAccessorImpl.java:
> > > > 27)
> > > >         at 
> > > > java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> > > >         at java.lang.Class.newInstance0(Class.java:355)
> > > >         at java.lang.Class.newInstance(Class.java:308)
> > > >         at
> > > > org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:
> > > > 104)
> > > >         at
> > > > org.apache.axis.encoding.ser.BeanDeserializer.<init>(BeanDeserializer.java:
> > > > 90)
> > > >         at
> > > > com.google.api.adwords.cm.ApiException_Helper.getDeserializer(ApiException_
> > > >  Helper.java:
> > > > 53)
> > > >         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > >         at
> > > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > > > 39)
> > > >         at
> > > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
> > > >  l.java:
> > > > 25)
> > > >         at java.lang.reflect.Method.invoke(Method.java:597)
> > > >         at
> > > > org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDes
> > > >  erializerFactory.java:
> > > > 154)
> > > >         at
> > > > org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(Base
> > > >  DeserializerFactory.java:
> > > > 84)
> > > >         at
> > > > org.apache.axis.encoding.DeserializationContext.getDeserializer(Deserializa
> > > >  tionContext.java:
> > > > 464)
> > > >         at
> > > > org.apache.axis.encoding.DeserializationContext.getDeserializerForType(Dese
> > > >  rializationContext.java:
> > > > 547)
> > > >         at
> > > > org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetai
> > > >  lsBuilder.java:
> > > > 157)
> > > >         at
> > > > org.apache.axis.encoding.DeserializationContext.startElement(Deserializatio
> > > >  nContext.java:
> > > > 1035)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(A
> > > >  bstractSAXParser.java:
> > > > 501)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartE
> > > >  lement(XMLNSDocumentScannerImpl.java:
> > > > 400)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl
> > > > $FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2747)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocu
> > > >  mentScannerImpl.java:
> > > > 648)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNS
> > > >  DocumentScannerImpl.java:
> > > > 140)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scan
> > > >  Document(XMLDocumentFragmentScannerImpl.java:
> > > > 510)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Co
> > > >  nfiguration.java:
> > > > 807)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Co
> > > >  nfiguration.java:
> > > > 737)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:
> > > > 107)
> > > >         at
> > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Abstract
> > > >  SAXParser.java:
> > > > 1205)
> > > >         at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl
> > > > $JAXPSAXParser.parse(SAXParserImpl.java:522)
> > > >         at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
> > > >         at
> > > > org.apache.axis.encoding.DeserializationContext.parse(DeserializationContex
> > > >  t.java:
> > > > 227)
> > > >         at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
> > > >         at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
> > > >         at
> > > > org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandCh
> > > >  ecker.java:
> > > > 62)
> > > >         at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
> > > >         at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
> > > >         at org.apache.axis.client.Call.invoke(Call.java:2767)
> > > >         at org.apache.axis.client.Call.invoke(Call.java:2443)
> > > >         at org.apache.axis.client.Call.invoke(Call.java:2366)
> > > >         at org.apache.axis.client.Call.invoke(Call.java:1812)
> > > >         at
> > > > com.google.api.adwords.cm.AdGroupCriterionServiceSoapBindingStub.mutate(AdG
> > > >  roupCriterionServiceSoapBindingStub.java:
> > > > 910)

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Have you migrated to v200909 yet?
The v13 sunset is on April 22, 2010.

Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

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

To unsubscribe from this group, send email to 
adwords-api+unsubscribegooglegroups.com or reply to this email with the words 
"REMOVE ME" as the subject.

Reply via email to