I am updating many (100000+) expanded text ads via the AdServiceInterface.mutate() method.
Most requests are successful, but some always run in a socket timeout error.
I already tried to reduce the number of operations per request from 2000 to 500, but this did not solve the problem.
o.a.a.SOAPPart#getAsBytes|Exception:
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method) ~[?:?]
at java.net.SocketInputStream.socketRead(SocketInputStream.java:115) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:168) ~[?:?]
at java.net.SocketInputStream.read(SocketInputStream.java:140) ~[?:?]
at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:448) ~[?:?]
at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68) ~[?:?]
at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1104) ~[?:?]
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:823) ~[?:?]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:252) ~[?:?]
at java.io.BufferedInputStream.read1(BufferedInputStream.java:292) ~[?:?]
at java.io.BufferedInputStream.read(BufferedInputStream.java:351) ~[?:?]
at java.io.FilterInputStream.read(FilterInputStream.java:133) ~[?:?]
at org.apache.axis.SOAPPart.getAsBytes(SOAPPart.java:453) ~[axis-1.4.jar!/:?]
at org.apache.axis.SOAPPart.getAsString(SOAPPart.java:559) ~[axis-1.4.jar!/:?]
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:322) ~[axis-1.4.jar!/:?]
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269) ~[axis-1.4.jar!/:?]
at org.apache.axis.Message.writeTo(Message.java:539) ~[axis-1.4.jar!/:?]
at com.google.api.ads.common.lib.soap.ResponseInfoXPathSet.parseMessage(ResponseInfoXPathSet.java:76) ~[ads-lib-4.6.0.jar!/:?]
at com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:249) ~[ads-lib-axis-4.6.0.jar!/:?]
at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:63) ~[ads-lib-4.6.0.jar!/:?]
at com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:93) ~[ads-lib-4.6.0.jar!/:?]
at com.sun.proxy.$Proxy261.mutate(Unknown Source) ~[?:?]
java.lang.NullPointerException: null
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:324) ~[axis-1.4.jar!/:?]
at org.apache.axis.SOAPPart.writeTo(SOAPPart.java:269) ~[axis-1.4.jar!/:?]
at org.apache.axis.Message.writeTo(Message.java:539) ~[axis-1.4.jar!/:?]
at com.google.api.ads.common.lib.soap.ResponseInfoXPathSet.parseMessage(ResponseInfoXPathSet.java:76) ~[ads-lib-4.6.0.jar!/:?]
at com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:249) ~[ads-lib-axis-4.6.0.jar!/:?]
at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:63) ~[ads-lib-4.6.0.jar!/:?]
at com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:93) ~[ads-lib-4.6.0.jar!/:?]
at com.sun.proxy.$Proxy261.mutate(Unknown Source) ~[?:?]