Question

Rollback hotfixes from backend

Hi Experts,

I need your advice again, we have had an automated hotfix deployment in all test environments and that seems to have broken something and Pega is not coming up, from my earlier post last week I did try everything suggested to get the environment back but I couldn't, as a last resort I did restore the DB and Pega was back up and running, now as I know the reason is the hotfix is there a way to roll it back from backend using prpcserviceutils?

ERROR from my Tomcat logs:

RPC default rounding mode set to HALF_EVEN
21-Oct-2019 10:23:55.314 SEVERE [nbnamtest1-uni-10.56.166.228] com.pega.pegarules.internal.bootstrap.PRBootstrap. Problem during method invocation (contextInitialized)
java.lang.ExceptionInInitializerError
at com.pega.platform.message.internal.broadcast.NotificationModule.getInstance(NotificationModule.java:77)
at com.pega.platform.message.internal.broadcast.PRNotificationModule.<init>(PRNotificationModule.java:17)
at com.pega.platform.message.internal.broadcast.PRNotificationModule$NotificationModuleLoader.<clinit>(PRNotificationModule.java:27)
at com.pega.platform.message.internal.broadcast.PRNotificationModule.getInstance(PRNotificationModule.java:21)
at com.pega.pegarules.session.internal.serverpush.PushServerFactory.initialize(PushServerFactory.java:67)
at com.pega.pegarules.session.internal.serverpush.PushServerFactory.<init>(PushServerFactory.java:51)
at com.pega.pegarules.session.internal.serverpush.PushServerFactory.<clinit>(PushServerFactory.java:40)
at com.pega.pegarules.session.internal.serverpush.PushComponentProvider.getPushLifecycle(PushComponentProvider.java:48)
at com.pega.pegarules.web.servlet.WebAppLifeCycleListener.initializePushEngine(WebAppLifeCycleListener.java:372)
at com.pega.pegarules.web.servlet.WebAppLifeCycleListener._contextInitialized_privact(WebAppLifeCycleListener.java:315)
at com.pega.pegarules.web.servlet.AbstractLifeCycleListener._contextInitialized_privact(AbstractLifeCycleListener.java:159)
at com.pega.pegarules.web.servlet.AbstractLifeCycleListener.contextInitialized(AbstractLifeCycleListener.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

Comments

Keep up to date on this post and subscribe to comments

October 20, 2019 - 9:04pm

You can only rollback if your hotfixes are uncommitted, otherwise db restore is the only safe way, that is why we always recommend back up your db as the best practice: https://community.pega.com/sites/default/files/help_v74/procomhelpmain.htm#tools/hotfixmanagerhfix/rollback-hotfix-cli-web-tsk.htm

October 21, 2019 - 7:47am

prpcServiceUtils does have an option to rollback. But this relies on talking to the application server. So if you can't start the server then I don't think this will be of use to you.

We do have the standalone prpcUtils script through (which is not reliant of the App server being up).

So you way want to take a look at the manageHotfixes option and the relevant "HOTFIX MANAGER" section of the prpcUtils.properties file.

Failing that; as Kevin suggested make sure you have an up-to-date backup and a means to restore it in a timely manner.