Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

Importing ADM model thows Exception

SA-30511

Summary



When trying to import a Adaptive Decision Manager (ADM) model from a different environment, SocketTimeoutException is thrown.

Thread dump from ADM server shows ModelFactory.setConfiguration() being called for the new model version import, but looks like it simply did not return within the default 30 seconds.


Error Messages



2016-11-08 13:21:10,429 [.PRPCWorkManager : 5] [  STANDARD] [     NBAHub:01.01.01] (         adm.server.ServerStub) ERROR  admin - ADM Server connection SLA violated due to exception:

org.springframework.remoting.RemoteAccessException: Could not access HTTP invoker remote service at [http://sADMhostname:Port/adm7/ADMServer]; nested exception is java.net.SocketTimeoutException: Read timed out
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.convertHttpInvokerAccessException(HttpInvokerClientInterceptor.java:216)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:147)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy28.setConfiguration(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor142.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.pega.decision.common.concurrent.CircuitBreakers$CircuitBreakerHandler.invokeMethod(CircuitBreakers.java:392)
    at com.pega.decision.common.concurrent.CircuitBreakers$CircuitBreakerHandler.invokePrimary(CircuitBreakers.java:340)
    at com.pega.decision.common.concurrent.CircuitBreakers$CircuitBreakerHandler.invoke(CircuitBreakers.java:321)
    at com.sun.proxy.$Proxy29.setConfiguration(Unknown Source)
    at com.pega.decision.adm.client.impl.ClientImpl.addPredictor(ClientImpl.java:187)
    at com.pegarules.generated.activity.ra_action_pydoonsave_c77fdc7f851042684940c6c2a2a95e8f.step1_circum0(ra_action_pydoonsave_c77fdc7f851042684940c6c2a2a95e8f.java:278)
    at com.pegarules.generated.activity.ra_action_pydoonsave_c77fdc7f851042684940c6c2a2a95e8f.perform(ra_action_pydoonsave_c77fdc7f851042684940c6c2a2a95e8f.java:69)
    at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
    at com.pega.pegarules.session.internal.mgmt.Executable.invokeActivity(Executable.java:10587)
    at com.pegarules.generated.activity.ra_action_pzonsave_c9144dfb58c63430d30f63bc42f9daac.step1_circum0(ra_action_pzonsave_c9144dfb58c63430d30f63bc42f9daac.java:169)
    at com.pegarules.generated.activity.ra_action_pzonsave_c9144dfb58c63430d30f63bc42f9daac.perform(ra_action_pzonsave_c9144dfb58c63430d30f63bc42f9daac.java:69)
    at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
    at com.pega.pegarules.exec.internal.declare.infengine.ChainingEngineUtilImpl.runActivity(ChainingEngineUtilImpl.java:225)
    at com.pega.pegarules.exec.internal.declare.infengine.TriggerImpl.evaluateNetworks(TriggerImpl.java:307)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.performTriggers(DatabaseImpl.java:13324)
    at com.pega.pegarules.data.internal.access.Saver.performTriggers(Saver.java:676)
    at com.pega.pegarules.data.internal.access.Saver.saveDeferred(Saver.java:380)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:5089)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.saveDeferred(DatabaseImpl.java:15187)
    at com.pega.pegarules.deploy.internal.loaders.SaverLoader.importContents(SaverLoader.java:462)
    at com.pega.pegarules.deploy.internal.util.ImportImpl.performImport(ImportImpl.java:888)
    at com.pega.pegarules.deploy.internal.util.ImportImpl.performImport(ImportImpl.java:743)
    at com.pega.pegarules.deploy.internal.util.ImportImpl.importArchive(ImportImpl.java:700)
.......
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
    at com.pega.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
    at com.pega.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
    at com.pega.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)
    at com.pega.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1374)
    at com.pega.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1833)
    at com.pega.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1591)
    at com.pega.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:996)
    at com.pega.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398)
    at com.pega.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
    at com.pega.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
    at com.pega.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:325)
    at com.pega.decision.util.spring.IgnorantHttpInvokerRequestExecutor.executePostMethod(IgnorantHttpInvokerRequestExecutor.java:250)
    at com.pega.decision.util.spring.IgnorantHttpInvokerRequestExecutor.doExecuteRequest(IgnorantHttpInvokerRequestExecutor.java:168)
    at org.springframework.remoting.httpinvoker.AbstractHttpInvokerRequestExecutor.executeRequest(AbstractHttpInvokerRequestExecutor.java:138)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:194)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.executeRequest(HttpInvokerClientInterceptor.java:176)
    at org.springframework.remoting.httpinvoker.HttpInvokerClientInterceptor.invoke(HttpInvokerClientInterceptor.java:144)
    ... 80 more


Steps to Reproduce



Import RAP with ADM model with an older model version that already exists in target environment.


Root Cause



A defect or configuration issue in the operating environment. 

Import fails because it tries to save Adaptive Model rule with new predictors.

This calls to the server to update all models for that rule. If there are 5000+ models, it could be time consuming and the call to the server times out - failing the import.

Resolution



Apply HFix-30477.

The default timeout is now 180 seconds, so modify adm-client-config.xml in adm-client-7.2.0.jar to increase readTimeout for client server connection.

 

Published November 22, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us