Skip to content

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

Description

@vikashkumarsharechat

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>

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions