googleads-java-lib icon indicating copy to clipboard operation
googleads-java-lib copied to clipboard

ReportService Method: getReportDownloadUrlWithOptions, FaultMessage: java.net.SocketTimeoutException: Read timed out

Open vikashkumarsharechat opened this issue 10 months ago • 0 comments

The problem arises when attempting to generate a GAM report. When generating the URL to download the CSV report file, it takes over 20 minutes and eventually fails with the error message "FaultMessage: java.net.SocketTimeoutException: Read timed out". It's worth mentioning that this issue occurs exclusively in the production environment within a Kubernetes pod. When tested locally, it functions properly without any problems. please find the pod error logs attched

2024-04-03 08:59:35.664 WARN 1 --- [ main] c.g.a.a.a.l.c.A.requestInfoLogger : Request made: Service: ReportService Method: getReportDownloadUrlWithOptions networkCode: 2187-----94 URL: https://ads.google.com/apis/ads/publisher/v202311/ReportService Request ID: null ResponseTime(ms): null OperationsCount: null IsFault: true FaultMessage: java.net.SocketTimeoutException: Read timed out 2024-04-03 08:59:35.669 INFO 1 --- [ main] c.g.a.a.a.l.c.A.soapXmlLogger : SOAP request:

<soapenv:Header>
    <ns1:RequestHeader xmlns:ns1="https://www.google.com/apis/ads/publisher/v202311" soapenv:mustUnderstand="0">
        <ns1:networkCode>21------94</ns1:networkCode>
        <ns1:applicationName>jobGamReportCache (DfpApi-Java, Dfp-Axis/5.4.0, Common-Java/5.4.0, Axis/1.4, Java/1.8.0_342, maven)</ns1:applicationName>
    </ns1:RequestHeader>
</soapenv:Header>
<soapenv:Body>
    <getReportDownloadUrlWithOptions xmlns="https://www.google.com/apis/ads/publisher/v202311">
        <reportJobId>145147484</reportJobId>
        <reportDownloadOptions>
            <exportFormat>CSV_DUMP</exportFormat>
            <useGzipCompression>true</useGzipCompression>
        </reportDownloadOptions>
    </getReportDownloadUrlWithOptions>
</soapenv:Body>

</soapenv:Envelope>

2024-04-03 08:59:35.670 INFO 1 --- [ main] c.g.a.a.a.l.c.A.soapXmlLogger : SOAP response:

<soapenv:Body>
    <soapenv:Fault>
        <faultcode>soapenv:Server.userException</faultcode>
        <faultstring>java.net.SocketTimeoutException: Read timed out</faultstring>
        <detail>
            <ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:464)
at sun.security.ssl.SSLSocketInputRecord.bytesInCompletePacket(SSLSocketInputRecord.java:68)
at sun.security.ssl.SSLSocketImpl.readApplicationRecord(SSLSocketImpl.java:1346)
at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:73)
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:962)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:743)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1595)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1500)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:352)
at com.google.api.client.http.javanet.NetHttpResponse.&lt;init&gt;(NetHttpResponse.java:36)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:152)
at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:84)
at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1012)
at com.google.api.ads.common.lib.soap.axis.HttpHandler.invoke(HttpHandler.java:83)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
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.ads.admanager.axis.v202311.ReportServiceSoapBindingStub.getReportDownloadUrlWithOptions(ReportServiceSoapBindingStub.java:788)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.api.ads.common.lib.soap.SoapClientHandler.invoke(SoapClientHandler.java:100)
at com.google.api.ads.common.lib.soap.axis.AxisHandler.invokeSoapCall(AxisHandler.java:234)
at com.google.api.ads.common.lib.soap.SoapServiceClient.callSoapClient(SoapServiceClient.java:63)
at com.google.api.ads.common.lib.soap.SoapServiceClient.invoke(SoapServiceClient.java:93)
at com.sun.proxy.$Proxy71.getReportDownloadUrlWithOptions(Unknown Source)
at com.google.api.ads.admanager.axis.utils.v202311.ReportDownloader.getDownloadUrl(ReportDownloader.java:187)
at com.example.jobGamInstreamReportToBq.GamKeyValueReportToBqService.downloadReportFromGAMAndProcessToBQ(GamKeyValueReportToBqService.java:116)
at com.example.jobGamInstreamReportToBq.GamInstreamReportToBqReportService.processGamReportForKeyValues(GamInstreamReportToBqReportService.java:307)
at com.example.jobGamInstreamReportToBq.GamCustomReportsToBqService.runReportForKeyValues(GamCustomReportsToBqService.java:113)
at com.example.jobGamInstreamReportToBq.GamCustomReportsToBqService.run(GamCustomReportsToBqService.java:243)
at com.example.JobGamReportCacheApplication.main(JobGamReportCacheApplication.java:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)

</ns1:stackTrace> <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">job-custom-gam-reports-manual-hyter-7q5sf</ns2:hostname> </soapenv:Fault> </soapenv:Body> </soapenv:Envelope>

vikashkumarsharechat avatar Apr 03 '24 18:04 vikashkumarsharechat