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

Not able to import RAP along with Oracle 12c

SA-37430

Summary



User was unable to import a Rule-Admin-product (RAP) after upgrading to Pega 7.2.2 or Oracle 12c 1.0.2.0.

As soon as the import starts, the application hangs and thread dump gets triggered in the logs.


Error Messages



"ajp-bio-8009-exec-52" Id=171 in RUNNABLE (running in native)
BlockedCount : 1, BlockedTime : -1, WaitedCount : 1, WaitedTime : -1
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at oracle.net.ns.Packet.receive(Packet.java:311)
at oracle.net.ns.DataPacket.receive(DataPacket.java:105)
at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:202)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:45)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:766)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:897)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1244)
- locked oracle.jdbc.driver.T4CConnection@2c5c52eb

at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:420)
at com.pega.pegarules.data.internal.access.oracle.SQLGeneratorOracle.getCompoundKeyInfo(SQLGeneratorOracle.java:308)
at com.pega.pegarules.data.internal.access.oracle.SQLGeneratorOracle.getIndexInfo(SQLGeneratorOracle.java:266)
at com.pega.pegarules.data.internal.access.SQLGenerator.generateTableXMLForClass(SQLGenerator.java:2571)
at com.pega.pegarules.data.internal.access.DatabaseSchemaGeneratorImpl.generateTableXMLForTable(DatabaseSchemaGeneratorImpl.java:193)
at com.pega.pegarules.data.internal.access.DatabaseImpl.generateTableXMLForTable(DatabaseImpl.java:7201)
at com.pega.pegarules.data.internal.access.DatabaseImpl.generateTableXMLForTable(DatabaseImpl.java:7174)
at com.pega.pegarules.data.internal.ddlcomp.SchemaChangeUtilityDataModelImpl.generateTableXMLForTable(SchemaChangeUtilityDataModelImpl.java:98)
at com.pega.pegarules.data.internal.ddlcomp.ObjectMetadataExtractor.extractObjectMetadata(ObjectMetadataExtractor.java:210)
at com.pega.pegarules.data.internal.ddlcomp.ImportDDLGenerator.generateDDL(ImportDDLGenerator.java:141)
at com.pega.pegarules.data.internal.ddlcomp.SchemaChangeUtilityImpl.generateDDL(SchemaChangeUtilityImpl.java:159)
at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:705)
at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:730)
at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:602)
at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:597)
at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:569)
at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:549)


Steps to Reproduce



Import a RAP in Pega 7.2.2 or Oracle 12c 1.0.2.0. The application never gets past Step 1.


Root Cause




After analysis of the log files and the awr reports, it was established that the underperforming query was getting generated from this method SQLGeneratorOracle.getCompoundKeyInfo() which involved all_constraints.

On further investigation, it was identified to be an Oracle bug on Oracle 10/Oracle 12c 1.0.2 where a query reagrding all_constraints burns CPU all the time and never finishes parsing.


Resolution




User is suggested to apply the following local-change on their database and the import is also successful:

Alter system set “_optimizer_push_pred_cost_based”=false;

But Oracle does not recommend setting this parameter at the system level and significant performance impacts were observed in the environment if this is set permanently, Pega suggested to provide a hotfix HFix-33753 for the same where this parameter will be set at the query or session level only.

After applying this HFix-33753, no performance impacts were observed and the import happened normally.

Published June 7, 2017 - 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