Question

Transport for NSW
AU
Last activity: 29 Oct 2020 12:48 EDT
Tomcat is not up after upgrading to Pega 8.4.1 from Pega 8.32 - problem with prweb.war deployment
Hi,
We have done an in-place upgrade from Pega 8.32 to Pega 8.41 successfully. However, after the upgrade when we started the app server (tomcat), there are problems with prweb.war deployment and we're unable to access pega application post upgrade.
Before staring the tomcat, we replaced the prweb.war and prhelp.war files from pega_841 build.
Our DB is Oracle 12C and so used the compatible ojdbc7.jar. Even tried with ojdbc8.jar but no luck.
Below is the log snippet showing errors. Full log is also attached.
I've tried connecting to DB using sqlplus manually and I didn't see any problems connecting to database using the same jdbc driver. Was able to query the table PEGA_RULES_83.pr_engineclasses using sqlplus successfully - queried this as log points that it is not able load a class from this table. I queried tables in data schema and rules schema without any issues.
Though our schemas names show pega_rules_83, it is upgraded to 84 - so don't be confused.
There are no privleges issues as well with db users because with the same privileges it was working fine with pega 8.3.2
Though log seems to be pointing to DB related configuration, I am not sure if that is the issue because the same configuration was working fine with pega 8.32 before the upgrade.
Though it looks more like some configuration issue, I couldn't find the root cause.
Any quick help is appreciated.
=====================================
Hi,
We have done an in-place upgrade from Pega 8.32 to Pega 8.41 successfully. However, after the upgrade when we started the app server (tomcat), there are problems with prweb.war deployment and we're unable to access pega application post upgrade.
Before staring the tomcat, we replaced the prweb.war and prhelp.war files from pega_841 build.
Our DB is Oracle 12C and so used the compatible ojdbc7.jar. Even tried with ojdbc8.jar but no luck.
Below is the log snippet showing errors. Full log is also attached.
I've tried connecting to DB using sqlplus manually and I didn't see any problems connecting to database using the same jdbc driver. Was able to query the table PEGA_RULES_83.pr_engineclasses using sqlplus successfully - queried this as log points that it is not able load a class from this table. I queried tables in data schema and rules schema without any issues.
Though our schemas names show pega_rules_83, it is upgraded to 84 - so don't be confused.
There are no privleges issues as well with db users because with the same privileges it was working fine with pega 8.3.2
Though log seems to be pointing to DB related configuration, I am not sure if that is the issue because the same configuration was working fine with pega 8.32 before the upgrade.
Though it looks more like some configuration issue, I couldn't find the root cause.
Any quick help is appreciated.
=====================================
28-Apr-2020 18:19:04.154 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. Will load phase 2 bootstrap from Pega-EngineCode:08-04-02 28-Apr-2020 18:19:04.200 WARNING [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. com/pega/pegarules/internal/bootstrap/phase2/PRBootstrapImpl.class could not be loaded from PEGA_RULES_83.pr_engineclasses for '08-04-02' codeset. 28-Apr-2020 18:19:04.200 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. Could not find file:/app/tomcat/tomcat4poc/webapps/prweb/WEB-INF/lib/prbootstrap-8.4.1-359.jar 28-Apr-2020 18:19:04.201 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. Perhaps executing with a non-standard classpath (e.g. JUnit tests)? 28-Apr-2020 18:19:04.210 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRBootstrap. ============ PegaRULES Bootstrap Configuration ============ Date: Tue Apr 28 18:19:04 AEST 2020 Java Version: Oracle Corporation 1.8.0_45 Configuration: file:/app/tomcat/tomcat4poc/webapps/prweb/WEB-INF/classes/prbootstrap.properties Pega-EngineCode: 08-04-02 Database: Oracle Oracle Database 12c Enterprise Edition Release Proprietary information hidden.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options Driver: Oracle JDBC driver Proprietary information hidden.0
(!) Unable to use given database configuration (!) Unable to locate classes on filesystem =============== End Bootstrap Configuration ===============
Unable to load phase 2 bootstrap class: com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl 28-Apr-2020 18:19:04.211 SEVERE [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRBootstrap. Error initializing PRAppLoader java.lang.ClassNotFoundException: com.pega.pegarules.internal.bootstrap.phase2.PRBootstrapImpl at com.pega.pegarules.internal.bootstrap.PRMiniLoader.loadClass(PRMiniLoader.java:378) at java.lang.ClassLoader.loadClass(Unknown Source) at com.pega.pegarules.internal.bootstrap.PRBootstrap.loadPhase2BootstrapClass(PRBootstrap.java:730) at com.pega.pegarules.internal.bootstrap.PRBootstrap.checkForStartup(PRBootstrap.java:673) at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:424) at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225) at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274) at com.pega.pegarules.internal.web.servlet.WebAppLifeCycleListenerBoot.contextInitialized(WebAppLifeCycleListenerBoot.java:92) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
28-Apr-2020 18:19:04.211 SEVERE [localhost-startStop-1] com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega. Problem during method invocation (contextInitialized) java.lang.RuntimeException: PRAppLoader was not properly initialized, unable to load class com.pega.pegarules.web.servlet.WebAppLifeCycleListener at com.pega.pegarules.internal.bootstrap.PRBootstrap.getImplementationOf(PRBootstrap.java:222) at com.pega.pegarules.internal.bootstrap.PRBootstrap.getEntry(PRBootstrap.java:339) at com.pega.pegarules.internal.bootstrap.PRBootstrap.getMethod(PRBootstrap.java:319) at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethodPropagatingThrowable(PRBootstrap.java:425) at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethodPropagatingThrowable(AppServerBridgeToPega.java:225) at com.pega.pegarules.boot.internal.extbridge.AppServerBridgeToPega.invokeMethod(AppServerBridgeToPega.java:274) at com.pega.pegarules.internal.web.servlet.WebAppLifeCycleListenerBoot.contextInitialized(WebAppLifeCycleListenerBoot.java:92) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4745) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5207) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:988) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1860) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
28-Apr-2020 18:19:04.212 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Full details will be found in the appropriate container log file 28-Apr-2020 18:19:04.212 SEVERE [localhost-startStop-1] org.apache.catalina.core.StandardContext.startInternal Context [/prweb] startup failed due to previous errors 28-Apr-2020 18:19:04.213 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRBootstrap. prbootstrap.properties merged with prbootstrap entries in Data-Admin-System-Settings 28-Apr-2020 18:19:04.213 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. Will load phase 2 bootstrap from Pega-EngineCode:08-04-02 28-Apr-2020 18:19:04.222 WARNING [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. com/pega/pegarules/internal/bootstrap/phase2/PRBootstrapImpl.class could not be loaded from PEGA_RULES_83.pr_engineclasses for '08-04-02' codeset. 28-Apr-2020 18:19:04.222 INFO [localhost-startStop-1] com.pega.pegarules.internal.bootstrap.PRMiniLoader. Could not find file:/app/tomcat/tomcat4poc/webapps/prweb/WEB-INF/lib/prbootstrap-8.4.1-359.jar
===========================