function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
IT DevelopmentIT Development 

Salesforce sync process is failing with error - 'Read timed out'

Hi Team,
We support an application called Mindshare. This application is built on Oracle database using Java.
Details of Saleforce contacts (or members, accounts, memberships, opportunities, participants ) are migrated to our database using a Sync process.
Similarly any changes made to the above in our database are migrated to Saleforce through the same Sync process.
This process runs once in every 15 mins runs for about 2-3 minutes.

Oflate, this process has been failing more often than it used to.

Log shows the below error. Can someone please tell me the reason for this error?

2014-08-11 06:40:53,291, ERROR, com.hackett.crm.step.FromSalesforce,
doSync, 265, An error occurred syncing from salesforce AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.net.SocketTimeoutException: Read timed out
faultActor:
faultNode:
faultDetail:
               {http://xml.apache.org/axis/}stackTrace:java.net.SocketTimeoutException: Read timed out
               at java.net.SocketInputStream.socketRead0(Native Method)
               at java.net.SocketInputStream.read(SocketInputStream.java:129)
               at com.sun.net.ssl.internal.ssl.InputRecord.a(DashoA12275)
               at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA12275)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
               at com.sun.net.ssl.internal.ssl.AppInputStream.read(DashoA12275)
               at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
               at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
               at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:583)
               at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
               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.sforce.soap.enterprise.SoapBindingStub.query(SoapBindingStub.java:4204)
               at com.hackett.crm.step.FromSalesforce.doSync(FromSalesforce.java:166)
               at com.hackett.crm.SalesforceSyncController.doSync(SalesforceSyncController.java:62)
               at
com.hackett.crm.SalesforceSyncController.main(SalesforceSyncController.java:112)

              
{http://xml.apache.org/axis/}hostname:hermes.answerthink.com

java.net.SocketTimeoutException: Read timed out
               at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
               at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:154)
               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.sforce.soap.enterprise.SoapBindingStub.query(SoapBindingStub.java:4204)
               at com.hackett.crm.step.FromSalesforce.doSync(FromSalesforce.java:166)
               at com.hackett.crm.SalesforceSyncController.doSync(SalesforceSyncController.java:62)
               at
com.hackett.crm.SalesforceSyncController.main(SalesforceSyncController.java:112) Caused by: java.net.SocketTimeoutException: Read timed out
               at java.net.SocketInputStream.socketRead0(Native Method)
               at java.net.SocketInputStream.read(SocketInputStream.java:129)
               at com.sun.net.ssl.internal.ssl.InputRecord.a(DashoA12275)
               at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA12275)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
               at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
               at com.sun.net.ssl.internal.ssl.AppInputStream.read(DashoA12275)
               at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
               at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
               at org.apache.axis.transport.http.HTTPSender.readHeadersFromSocket(HTTPSender.java:583)
               at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:143)
               ... 13 more

gsmithfarmergsmithfarmer
Are you doing a SOQL select that returns a lot of records?  After a certain table size a SELECT statement almost always has to include a LIMIT to avoid frequent timeout problems. See the "Sin #2" in thei SOQL related post: http://gsmithfarmer.blogspot.com/2014/04/soqls-seven-deadly-sins.html

Chris Eastwood 16Chris Eastwood 16
Did you find a fix for this?