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

NoClassDefFoundError for ThrowableInformation while Pega upgrade

SA-5381

Summary



During upgarde from 5.5 to 7.1.5,  java.lang.NoClassDefFoundError: com/pega/apache/log4j/spi/ThrowableInformation and many other errors were observed in the logs.

Following PDN link suggests network latency issue to be the cause -

https://pdn.pega.com/deployment/troubleshooting-noclassdeffounderror-during-rulebase-setup-from-remote-machine

Below are the upgrade steps that were followed with status:
o Upgrading from Standard schema to split schema within in the same database
o Created the Blank Schema for rules – XYZ. Data Schema is XYZ- Completed
o Performed migration of the rules tables from Data schema to Rules schema - Completed
o Deploy the DDL scripts required for the rule base upgrade manually - Completed
o Perform rulebase upgrade with command “Upgrade.sh” - In progress. Build Failed with Error. 
o Deploy the DDLs required for Data Upgrade Manually - Not Started
o Perform Data Upgrade using the command “Upgrade.sh --DataOnly true” - Not Started

Error Messages



[java] 2015-01-17 18:34:39,166 [server1] [ STANDARD] [ ] ( internal.util.ImportImpl) INFO - Uncommitted memory threshold exceeded -- issuing commit.

--------------------------------------------------------------------------------------------------------------
[java] com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][3.64.106] A communication error occurred during operations on the connection's underlying socket, socket input stream,
[java] or socket output stream. Error location: T4Agent.sendRequest() - flush (-1). Message: There is no process to read data written to a pipe.. ERRORCODE=-4499, SQLSTATE=08001
[java] at com.ibm.db2.jcc.am.bd.a(bd.java:321)
[java] at com.ibm.db2.jcc.t4.a.a(a.java:548)
[java] at com.ibm.db2.jcc.t4.a.a(a.java:543)
[java] at com.ibm.db2.jcc.t4.a.f(a.java:484)
[java] at com.ibm.db2.jcc.t4.a.flush_(a.java:390)
[java] at com.ibm.db2.jcc.am.Agent.flow(Agent.java:230)
[java] at com.ibm.db2.jcc.am.jo.b(jo.java:3976)
[java] at com.ibm.db2.jcc.am.jo.ec(jo.java:735)
[java] at com.ibm.db2.jcc.am.jo.executeQuery(jo.java:708)
[java] at com.pega.pegarules.configdbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:99)
--------------------------------------------------------------------------------------------------------------

[java] at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
[java] Exception in thread "server1" java.lang.RuntimeException: Problem during method invocation (main)
[java] at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:515)
[java] at com.pega.pegarules.pub.PegaRULES.main(PegaRULES.java:85)
[java] Caused by: java.lang.NoClassDefFoundError: com/pega/apache/log4j/spi/ThrowableInformation
[java] at com.pega.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:155)
[java] at com.pega.apache.log4j.Category.forcedLog(Category.java:391)
[java] at com.pega.apache.log4j.Category.error(Category.java:322)
[java] at com.pega.pegarules.priv.LogHelper.error(LogHelper.java:1039)
[java] at com.pega.pegarules.deploy.external.util.Application.main(Application.java:446)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
[java] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
[java] at java.lang.reflect.Method.invoke(Method.java:611)
[java] at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:419)
[java] at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:460)
[java] at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:509)
[java] ... 1 more

Steps to Reproduce



None

Root Cause



The root cause of this problem was due to communication error on the underlying socket for DB2 and VPN lost connectivity while running upgrade script.


Resolution



Following error caused the upgrade script to fail. Local fix for this error discussed on the
IBM site was suggested. This was not implemented as later the connection to database was re-established.


[java] com.ibm.db2.jcc.am.DisconnectNonTransientConnectionException: [jcc][t4][2030][11211][3.64.106] A communication error occurred during operations on the connection's underlying socket, socket input stream,
[java] or socket output stream. Error location: T4Agent.sendRequest() - flush (-1). Message: There is no process to read data written to a pipe.. ERRORCODE=-4499, SQLSTATE=08001


The second error "Uncommitted memory threshold exceeded -- issuing commit." that was suspected to be the impacting was ruled out.

Firstly, it just a threshold exceeded for uncommitted instances and after this threshold a commit is issued. The uncommitted memory threshold is determined by Dynamic System Setting deployment/import/UncommittedMemoryThresholdMB on owning Ruleset Pega-EngineCode. This is by default set to 50Mb.
 
If size of uncommitted instances during upgrade is greater than UNCOMMITED_INST_MEM_THRESHOLD(50MB), it issues a commit and sets the counter to zero. This explained there is no scarcity of memory on JVM or DB2 at this time.

Running resume.sh was suggested after reviewing the resume.properties file and that failed again due to VPN connection issues. A second running of resume.sh completed successfully.

 

Published January 31, 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