Page 1 of 1

Salesforce Pack - java.net.UnknownHostException

Posted: Thu Jan 31, 2019 1:53 am
by JackStrong
Hi all.

We have Saleforce.com jobs that run on a regularly scheduled basis (job sequences). Everything works, but occasionally it aborts with:

IIS-CONN-SALESFORCEJC-00015

main_program: Fatal Error: Information: error code: 8
error message: ; nested exception is:
java.net.UnknownHostException: XYZ.salesforce.com
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelop ... rException
faultSubcode:
faultString: java.net.UnknownHostException:XYZ.salesforce.com
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace: ... tException: XYZ.salesforce.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:214)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.net.Socket.connect(Socket.java:666)
at com.ibm.jsse2.at.connect(at.java:644)
at com.ibm.jsse2.at.<init>(at.java:716)
at com.ibm.jsse2.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:2)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:82)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:91)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:158)
at java.lang.Thread.run(Thread.java:811)
{http://xml.apache.org/axis/}hostname:ABC
java.net.UnknownHostException: XYZ.salesforce.com
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.transport.http.CommonsHTTPSender.invoke(CommonsHTTPSender.java:301)
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.partner.SoapBindingStub.getUserInfo(SoapBindingStub.java:6282)
at com.ibm.is.erp.salesforce.core.SalesForceConnection.getUserInfo(SalesForceConnection.java:403)
at com.ibm.is.erp.salesforce.jcconnector.CC_SALESFORCEJCConnection.connect(CC_SALESFORCEJCConnection.java:475)
Caused by: java.net.UnknownHostException: XYZ.salesforce.com
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:214)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.net.Socket.connect(Socket.java:666)
at com.ibm.jsse2.at.connect(at.java:644)
at com.ibm.jsse2.at.<init>(at.java:716)
at com.ibm.jsse2.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:2)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:82)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$1.doit(ControllerThreadSocketFactory.java:91)
at org.apache.commons.httpclient.protocol.ControllerThreadSocketFactory$SocketTask.run(ControllerThreadSocketFactory.java:158)
at java.lang.Thread.run(Thread.java:811)

We don't use Proxy server. I suspect that the issue could be related to some delays in the network.

Where and what can I change to extend the timeout or to increase the number of attempts to resolve this problem?

Posted: Thu Jan 31, 2019 3:09 am
by qt_ky
I am not sure if those settings exist for the Salesforce Connector or where they might be. You might be better off taking the question to Support.

Our environment used to have a lot of network problems, and while this had nothing to do with Salesforce connectivity, a lot of our nightly jobs would abort when internal database connections failed due to network hiccups.

Our workaround in this case was to create a new layer of master sequence jobs that would call the previously scheduled master sequence jobs within a retry loop (using the loop activity stages) with auto-restart settings enabled and jobs set to reset then run. We put in a sleep command as well, and parameterized the sleep period and number of retries.

When we scheduled our new master sequence job, we could tell it for instance upon failure to sleep 10 minutes between each retry and retry 6 times (for up to an hour) before emailing us any abort notifications to take action.

Hope that helps.