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 <adwordsapiadvi...@google.com> 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)" > > <pete.lavet...@gmail.com> 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 <sem...@gmail.com> 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 adwords-api@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 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.