I have a retry in place (I believe the limit is 5 tries before giving
up), and since the most recent api update we are seeing a significant
increase in these failures (those that exceed our retry limit) - both
for bid and url updates.

Guys, is this a known issue? Suggestions for how we should structure
our code to avoid this error? Is the database lock released before the
soap call returns? Can this be mitigated by batching the calls by
adgroup?

Thanks -
mm

On Apr 4, 10:43 am, Rohit Dantas <rohit.dan...@visual-meta.com> wrote:
> Hi i was updating ~4552 keyword bids today and received the following error,
> even though no-one else was using our account to modify keywords, nor was
> any other API process try to do the same. The next attempt to do the same
> worked without a problem.
>
> Do you know what could be the issue? Should I just acknowledge that this
> error can occur once in a while and build a retry mechanism? What would be
> the best practice here?
>
> Caused by: DatabaseError.CONCURRENT_MODIFICATION @
> [Ljava.lang.StackTraceElement;@1fd12ba                                      
>
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)                                                                    
>
>         at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>
>         at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.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.v201008.cm.ApiException.getDeserializer(ApiException.java:142)
>
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)      
>
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>
>         at java.lang.reflect.Method.invoke(Method.java:597)                
>
>         at
> org.apache.axis.encoding.ser.BaseDeserializerFactory.getSpecialized(BaseDeserializerFactory.java:154)
>
>         at
> org.apache.axis.encoding.ser.BaseDeserializerFactory.getDeserializerAs(BaseDeserializerFactory.java:84)
>
>          at
> org.apache.axis.encoding.DeserializationContext.getDeserializer(DeserializationContext.java:464)
>
>         at
> org.apache.axis.encoding.DeserializationContext.getDeserializerForType(DeserializationContext.java:547)
>
>          at
> org.apache.axis.message.SOAPFaultDetailsBuilder.onStartChild(SOAPFaultDetailsBuilder.java:157)
>
>         at
> org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035)
>
>         at
> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
>
>          at
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(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(XMLDocumentScannerImpl.java:648)
>
>         at
> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)
>
>          at
> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
>
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
>
>         at
> com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.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(AbstractSAXParser.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(DeserializationContext.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(MustUnderstandChecker.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.v201008.cm.AdGroupCriterionServiceSoapBindingStub.mutate(AdGroupCriterionServiceSoapBindingStub.java:1090)
>
>         ... 53 more                                                        
>
> Cheers.

-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
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

Reply via email to