Skip to content

MS Graph-Increase in SocketTimeoutException #1288

@MithunUpendra

Description

@MithunUpendra

We are seeing increase in SocketTimeoutException errors after upgrading Microsoft Graph jar version from 1.9.0 to 5.34.
Initially we created a Ticket [Case #:34272442] with Microsoft Team and they have asked us to create an issue here.

Below is the initial investigation comments made by Microsoft Support team
"We did pull the GraphAPI logs from the backend which shows only "200" and "204" successful events. This means the calls made to graphAPI are successful and are getting a response from the graphAPI without any problems. What appears to be happening is the "client" object in the Java SDK is throwing the exception internally. These internal SDK type of issues must be handled via the GitHub for the respective SDK. "

Note: This was working fine with the old version 1.9.0

Expected behavior

GraphServiceClient was supposed to return all Mail service responses. Service work's most of the time but we are seeing increase in socket Timeout exception in the logs.

Actual behavior

2022-12-07 14:45:39,632 ERROR com.microsoft.graph.core.ClientException: Error executing the request
at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:410)
at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:225)
at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:202)
at com.microsoft.graph.http.BaseCollectionRequest.send(BaseCollectionRequest.java:103)
at com.microsoft.graph.http.BaseEntityCollectionRequest.get(BaseEntityCollectionRequest.java:78)
at ca.cooperators.cc.integration.batch.emailDocuments.microsoftgraph.MSGraphClient.getMessageExceedsMaxSize(MSGraphClient.gs:128)
at ca.cooperators.cc.integration.batch.emailDocuments.microsoftgraph.MSGraphReader.readEmails(MSGraphReader.gs:130)
at ca.cooperators.cc.integration.batch.emailDocuments.implementations.ClaimEmailControllerImpl.runBatch(ClaimEmailControllerImpl.gs:88)
at ca.cooperators.cc.integration.batch.emailDocuments.ClaimEmailBatch.doWork(ClaimEmailBatch.gs:69)
at com.guidewire.pl.system.batchprocessing.SinglePhaseBatchProcess$1.act(SinglePhaseBatchProcess.java:21)
at com.guidewire.pl.system.batchprocessing.MultiPhaseBatchProcess.actOnCurrentPhase(MultiPhaseBatchProcess.java:106)
at com.guidewire.pl.system.batchprocessing.MultiPhaseBatchProcess.runPhases(MultiPhaseBatchProcess.java:93)
at com.guidewire.pl.system.batchprocessing.MultiPhaseBatchProcess.run(MultiPhaseBatchProcess.java:71)
at com.guidewire.pl.system.batchprocessing.BatchProcessStartupHelper$1$1.run(BatchProcessStartupHelper.java:262)
at gw.api.profiler.Profiler.maybeProfileBlock(Profiler.java:103)
at com.guidewire.pl.system.batchprocessing.BatchProcessProfiler.maybeProfileBlock(BatchProcessProfiler.java:45)
at com.guidewire.pl.system.batchprocessing.BatchProcessStartupHelper$1.run(BatchProcessStartupHelper.java:254)
Caused by: java.net.SocketTimeoutException: timeout
at okio.Okio$4.newTimeoutException(Okio.java:232)
at okio.AsyncTimeout.exit(AsyncTimeout.java:285)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:241)
at okio.RealBufferedSource.indexOf(RealBufferedSource.java:354)
at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:226)
at okhttp3.internal.http1.Http1Codec.readHeaderLine(Http1Codec.java:215)
at okhttp3.internal.http1.Http1Codec.readResponseHeaders(Http1Codec.java:189)
at okhttp3.internal.http.CallServerInterceptor.intercept(CallServerInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:45)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.RedirectHandler.intercept(RedirectHandler.java:137)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.RetryHandler.intercept(RetryHandler.java:177)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.AuthenticationHandler.intercept(AuthenticationHandler.java:59)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at com.microsoft.graph.httpcore.TelemetryHandler.intercept(TelemetryHandler.java:69)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
at okhttp3.RealCall.execute(RealCall.java:92)
at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:407)
... 16 more
Caused by: javax.net.ssl.SSLException: Socket closed
at sun.security.ssl.Alert.createSSLException(Alert.java:127)
at sun.security.ssl.TransportContext.fatal(TransportContext.java:324)
at sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
at sun.security.ssl.TransportContext.fatal(TransportContext.java:262)
at sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1563)
at sun.security.ssl.SSLSocketImpl.access$400(SSLSocketImpl.java:73)
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:973)
at okio.Okio$2.read(Okio.java:140)
at okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
... 48 more
Caused by: java.net.SocketException: Socket closed
at java.net.SocketInputStream.read(SocketInputStream.java:204)
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:1341)
at sun.security.ssl.SSLSocketImpl.access$300(SSLSocketImpl.java:73)
at sun.security.ssl.SSLSocketImpl$AppInputStream.read(SSLSocketImpl.java:957)
... 50 more

Steps to reproduce the behavior

1.Create GraphServiceClient
2. call client service like messages, attachments..

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions