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

SQLRecoverableException installing Pega 7.2 on Oracle/unix

SA-20731

Summary



Trying to install Pega 7.1 on Oracle database, and is running install from a Unix environment.

Several hours into the import when it is trying to import one of the application bundle components it fails.

Installing again fails at about the same point, around the 57 or 58th application bundle import.

Error Messages



19:53:04,302 [ main] [ ] [ ] ( internal.util.MoveLog) INFO - Operation Status: Started import of application bundle component pr4_rule_07.10.01.zip (58 of 87)...
[java] 2016-03-01 19:53:04,371 [ main] [ ] [ ] (y.internal.PRRuleMgmtUtilsImpl) INFO - pr4_rule_07.10.01.zip is v6 Archive
[java] Caught SQLException while reading prprivate.jar!com/pega/pegarules/deploy/internal/util/OptimizationCandidateListImpl$CandidateImpl.class
[java] java.sql.SQLRecoverableException: IO Error: Connection timed out
[java] at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:967)
[java] at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:929)
[java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)
[java] at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)
[java] at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3867)
[java] at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1502)
[java] at com.pega.pegarules.configdbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:99)
[java] at com.pega.pegarules.configdbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:99)
[java] at com.pega.pegarules.internal.bootstrap.phase2.jdbc.AbstractJdbcJarReader.readEntry(AbstractJdbcJarReader.java:334)
[java] at com.pega.pegarules.internal.bootstrap.phase2.jdbc.AbstractJdbcJarReader.readBestEntry(AbstractJdbcJarReader.java:294)
[java] at com.pega.pegarules.internal.bootstrap.phase2.jdbc.PegaJdbcURLConnection.readBestEntry(PegaJdbcURLConnection.java:192)
[java] at com.pega.pegarules.internal.bootstrap.phase2.loaderfs.PRClasspathJDBC.findResource(PRClasspathJDBC.java:109)
[java] at com.pega.pegarules.internal.bootstrap.phase2.loaderfs.PRClasspath.findResource(PRClasspath.java:182)
[java] at com.pega.pegarules.internal.bootstrap.phase2.loaderfs.PRClasspath.findResource(PRClasspath.java:165)
[java] at com.pega.pegarules.bootstrap.loader.PRAppLoader.findResourceInternal(PRAppLoader.java:979)
[java] at com.pega.pegarules.bootstrap.loader.PRAppLoader.findClassInternal(PRAppLoader.java:853)
[java] at com.pega.pegarules.bootstrap.loader.PRAppLoader.findClass(PRAppLoader.java:459)
[java] at com.pega.pegarules.bootstrap.loader.PRAppLoader.loadClass(PRAppLoader.java:761)
[java] at com.pega.pegarules.bootstrap.loader.PRAppLoader.loadClass(PRAppLoader.java:649)

Steps to Reproduce



Installing Pega 7.2 on an Oracle database from a Unix environment.

Root Cause



A defect or configuration issue in the operating environment.

This issue is seen during an install or upgrade on an Oracle database on Unix because of the way the newer versions of the Oracle JDBC driver gathers entropy.

This issue has nothing to do with the install code but rather with the way the Oracle JDBC driver works on Unix. Basically the Oracle JDBC drivers by default uses /dev/random.

When running in an environment where there this is not a lot of noise the entropy pool will eventually be empty and the connection will be reset. Earlier versions of the Oracle JDBC driver did not see this issue.

Resolution



Make the following change to the operating environment: Using an old version of the Oracle JDBC driver allows the installation to complete without issue.

Another option is to use Oracle's suggested workaround of setting the system property
-Djava.security.egd=file:///dev/urandom

Published February 5, 2018 - 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