java.net.SocketTimeoutException: Read timed out

Hi All

While running BODI job , I am getting following error since past two days.
Now sure what is going wrong here:

(11.7) 04-25-13 22:06:45 (E) (5288:4100) RUN-058107: |Dataflow DF_DeltaProductStage_SFDC|Reader Product21
Error reading from : <java.net.SocketTimeoutException: Read timed out>.

Any help is appreciated.

Regards
Vikram


vikramvasisht (BOB member since 2008-02-18)

  1. What changed? Did someone change something? Network?
  2. Is there significantly more data? Often when a process attempts to read or process too much data it can timeout.

eganjp :us: (BOB member since 2007-09-12)

Apparently nothing changed on BODI side or database side.

Data also didn’t increase significantly.

Data-flow is not even able to read a single records from salesforce.


vikramvasisht (BOB member since 2008-02-18)

Seems like some settings got changed on salesforce side, but we are not able to figure out what changed… as Opportunity object is getting loaded and account object is failing with following error.

we are still getting this error:
java.net.SocketTimeoutException: Read timed out

Moreover, can’t figure out if it is BODI issue or Salesforce issue.
The version of BODI being used is BODI 11.7.3 .


vikramvasisht (BOB member since 2008-02-18)

If it used to work but no longer does then something changed.


eganjp :us: (BOB member since 2007-09-12)

Agreed.

But is there anything which can be fixed on BODI side to make it work, which can bypass changed security setting , if any?


vikramvasisht (BOB member since 2008-02-18)

Not that I’m aware of, but I don’t use JDBC connections regularly.

I’ll check with the SFDC developers in the group I’m working with, but I don’t think they have seen that error.

Update: They have not seen that error.


eganjp :us: (BOB member since 2007-09-12)

I was trying different options since morning, change the memory settings from In Memory to persistent cache, changing log parameters to capture readers and loader information. But nothing helped.

I re-imported the tables from saleforce.com using business objects SFDC adapter which uses soap services call. And validated the data-flows again and tried loading data from Account object. It worked.

Still don’t know what got changed in back-end Salesforce application.
But for some reason, we have to re-import those tables again to make it work on Business Objects side so that new changed settings from Salesforce get imported.


vikramvasisht (BOB member since 2008-02-18)

While I don’t actively work on the SFDC project I do speak with the developers frequently. Any time there is a change to a SFDC table strange things can happen. Columns are no longer in the right order, etc. The table metadata on the Data Services side has to exactly mirror the table on the SFDC side or bad things happen. Working with SFDC is much more complicated than working with a normal database. :hb:


eganjp :us: (BOB member since 2007-09-12)

Ran into same problem again:

This time extraction from table : Case_Opportunity__c is failing.
And i can not re-import the table as well.

As when i click on SFDC adapter, it deosnt show up on right hand side under external metadata tab from where it can be re-imported.

It only shows up under Repository metedata tab on right hand side(after i double click on SFDc adapater).

How to re-import this table?? I ave tried importing table by name but it dosent seem to work…


vikramvasisht (BOB member since 2008-02-18)

Is it possible that someone changed the table name?
Are you logged into the correct SFDC environment?


eganjp :us: (BOB member since 2007-09-12)

No table name didn’t get changed…and i cross checked once again…this is the correct SFDC environment.

But still not able to find the table under SFDc adapter… :frowning:

Is this something has to do the with version of SOAP services call???


vikramvasisht (BOB member since 2008-02-18)

It could be the version. 11.7 is almost ancient. What soap version are you using? You can’t set it any higher than the version of DI knows about.


eganjp :us: (BOB member since 2007-09-12)

We are using version 7.

https://login.salesforce.com/services/Soap/u/7.0

If i am using higher version, as also suggested by salesforce support, the adapter is not even getting validated.


vikramvasisht (BOB member since 2008-02-18)

I suspect that you should be using whatever soap version that the 11.7 manual tells you to.

Check the server/adapter logs to see if you have errors. I bet they are there.


eganjp :us: (BOB member since 2007-09-12)

Manual tell us to use version 7.

Adapter error logs doesn’t tell me anything much.

Though it is as below:

/30/13 12:36:58 AM Fault-tolerance-initialload-query:java.net.SocketTimeoutException: Read timed out
Message:; nested exception is:
java.net.SocketTimeoutException: Read timed out
Retry:4
4/30/13 12:47:01 AM Fault-tolerance-initialload-query:java.net.SocketTimeoutException: Read timed out
Message:; nested exception is:
java.net.SocketTimeoutException: Read timed out
Retry:5
4/30/13 12:47:01 AM java.lang.RuntimeException: java.net.SocketTimeoutException: Read timed out
at com.acta.adapter.salesforce.SForceSimpleQuery.fetchNext(SForceSimpleQuery.java:80)
at com.acta.adapter.salesforce.SForceTableSource.readNext(SForceTableSource.java:173)
at com.acta.adapter.sdk.StreamListener.handleBrokerMessage(StreamListener.java:141)
at com.acta.brokerclient.BrokerClient.handleMessage(BrokerClient.java:424)
at com.acta.brokerclient.BrokerClient.access$100(BrokerClient.java:51)
at com.acta.brokerclient.BrokerClient$MessageHandler.run(BrokerClient.java:1575)
at com.acta.brokerclient.ThreadPool$PoolThread.run(ThreadPool.java:97)
Caused by: java.net.SocketTimeoutException: Read timed out
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2583)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at com.sforce.soap.partner.SoapBindingStub.query(SoapBindingStub.java:1642)
at com.acta.adapter.salesforce.SForceSimpleQuery.fetchNext(SForceSimpleQuery.java:56)


vikramvasisht (BOB member since 2008-02-18)

If it used to work then you need to figure out what changed. Network issue on your side?


eganjp :us: (BOB member since 2007-09-12)

Sockettimeout will happen in case the query is taking long time, enable trace for the Adapter and take the Query and run that from other tool provided by SFDC and see how much time it’s taking

since you are on 11.7.3 not sure if you have will be able to take the latest patch of 11.7.3 since it’s alredy end of life, I remember there were couple of fixes that were done in 11.7.3.6, 7, 8 related to SFDC, check if you have access to release notes and you find something


manoj_d (BOB member since 2009-01-02)