Support Article

Unable to import application due to requestor timeout

SA-30501

Summary



Importing application Rule-Admin-Product (RAP) fails due to a timeout.

No errors appears in the logs beside a Thread Dump caused by a RequestorLockException.

This only occur when Pega 7 is installed on the Oracle database.


Error Messages



The following Thread is responsible for the thread dump:

"[ACTIVE] ExecuteThread: '14' for queue: 'weblogic.kernel.Default (self-tuning)'" Id=602 in RUNNABLE (running in native)
BlockedCount : 490, BlockedTime : -1, WaitedCount : 494, 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:429)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:397)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:257)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:587)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:225)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:53)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:943)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:957)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1111)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4798)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4845)
      - locked oracle.jdbc.driver.T4CConnection@52f113a
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1501)
    at oracle.jdbc.driver.OracleDatabaseMetaData.getColumnsWithWildcards(OracleDatabaseMetaData.java:350)
    at oracle.jdbc.driver.OracleDatabaseMetaData.getColumns(OracleDatabaseMetaData.java:128)
      - locked oracle.jdbc.driver.OracleDatabaseMetaData@761b41a2
    at weblogic.jdbc.wrapper.DatabaseMetaData_oracle_jdbc_driver_OracleDatabaseMetaData.getColumns(Unknown Source)
    at com.pega.pegarules.data.internal.access.DatabaseDatabaseMetaData.getColumns(DatabaseDatabaseMetaData.java:302)
    at com.pega.pegarules.data.internal.access.SQLGenerator.generateTableXMLForClass(SQLGenerator.java:2445)
    at com.pega.pegarules.data.internal.access.DatabaseSchemaGeneratorImpl.generateTableXMLForTable(DatabaseSchemaGeneratorImpl.java:183)
    at com.pega.pegarules.data.internal.access.DatabaseSchemaGeneratorImpl.generateTableXMLForTable(DatabaseSchemaGeneratorImpl.java:162)
    at com.pega.pegarules.data.internal.access.DatabaseSchemaGeneratorImpl.generateTableXMLForTable(DatabaseSchemaGeneratorImpl.java:158)
    at com.pega.pegarules.data.internal.access.DatabaseImpl.generateTableXMLForTable(DatabaseImpl.java:13929)
    at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:791)
    at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:679)
    at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:674)
    at com.pega.pegarules.deploy.internal.util.SchemaImporterTool.getDDL(SchemaImporterTool.java:643)
    at com.pegarules.generated.activity.ra_action_pzpredisplayschema_5fb7566123fb4c2a8a25c92730012e43.step1_circum0(ra_action_pzpredisplayschema_5fb7566123fb4c2a8a25c92730012e43.java:287)
    at com.pegarules.generated.activity.ra_action_pzpredisplayschema_5fb7566123fb4c2a8a25c92730012e43.perform(ra_action_pzpredisplayschema_5fb7566123fb4c2a8a25c92730012e43.java:69)
    at com.pega.pegarules.session.internal.mgmt.Executable.doActivity(Executable.java:3510)
    at com.pegarules.generated.callActivity_071017_xvj4o_pyNDBZ4Gy293rekg.callActivity07_10_17(callActivity_071017_xvj4o_pyNDBZ4Gy293rekg.java:122)
    at com.pegarules.generated.callActivity_071017_xvj4o_pyNDBZ4Gy293rekg.invoke(callActivity_071017_xvj4o_pyNDBZ4Gy293rekg.java:82)
    at com.pega.pegarules.generation.internal.library.LibraryRuntime.resolveAndinvokeFunctionViaReflection(LibraryRuntime.java:133)
    at com.pega.pegarules.generation.internal.library.LibraryRuntime.invokeLibraryRuntime(LibraryRuntime.java:110)
    at com.pega.pegarules.session.internal.mgmt.Executable.invokeLibraryRuntime(Executable.java:9017)
    at com.pega.pegarules.priv.generator.LibrarySupport.resolveAndInvokeFunctionViaReflection(LibrarySupport.java:181)
    at com.pegarules.generated.pega_rules_utilities.callActivity(pega_rules_utilities.java:1640)
    at com.pegarules.generated.flowaction.ra_action_pxviewschema_6d5e0b4a741312c780860a6079ff12df.RunFlowActionActivity_circum0(ra_action_pxviewschema_6d5e0b4a741312c780860a6079ff12df.java:327)
    ....

 


Steps to Reproduce

Import a large RAP with Pega deployed on Weblogic and Oracle database

Root Cause



A defect in Pegasystems’ code or rules.
The issue is affecting a Oracle MetaData Query repeatedly executed by the JDBC driver (DatabaseMetaData.getColumns) while importing a RAP in the step of getting the DDL for the import.
Issue root cause has been identified in the "includeSynonyms = true" property being forcibly set by PRPC on the JDBC connection retrieved from the connection pool.

This causes the JDBC driver to generate a query that outer join the all_synonyms view.
AWR reports show that the response time is affected due to the huge amount of Buffer Gets and High CPU usage caused on the database by those queries.

Resolution



Apply HFix-30470.

 

Published November 17, 2016 - Updated November 23, 2016

Have a question? Get answers now.

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