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

Migration issue with Pega 7.1.5

SA-9421

Summary



While performing an upgrade from a Pega 6.3 SP 1 to a Pega 7.1.5 split schema installation encounters error when running script upgrade.bat to upgrade the old Pega 6 DB schema.

Query: How to upgrade the old Pega 6 DB schema for selectively exporting an old Pega 6 application from Pega 6 installation and importing it into a new/empty Pega 7 installation INSTEAD of migrating the ENTIRE Pega 6 rule base into Pega 7 using the migrate.bat script?



Error Messages



No such Rule-Application instance PegaRULES 06.03
----------------------------------------------
[java] 2015-04-08 14:04:48,107 [ batavia] [ ] [ ] ( internal.archive.ParUtilsImpl) INFO - pxPegaRULES_07.10.01.zip is v6 Archive
[java] Apr 08, 2015 2:04:48 PM com.pega.pegarules.internal.bootstrap.PRBootstrap

[java] Schwerwiegend: Problem during method invocation (main)
[java] com.pega.pegarules.pub.PRException: A problem occurred.
[java] From: (unknown)
[java] at com.pega.pegarules.deploy.external.util.Application.main(Application.java:449)
[java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

[ [java] ... 8 more
[java] at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.getOrCreateThread(RequestorThreadSync.java:174)
[java] at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.getOrCreateThread(RequestorThreadSync.java:161)

[java] Caused by: com.pega.pegarules.pub.context.InvalidConfigurationException: No such Rule-Application instance: PegaRULES 06.03

[java] From: (B2260B25D736B7B83E899328B760B012F)
[java] at com.pega.pegarules.session.internal.mgmt.base.RequestorThreadSync.getOrCreateThread(RequestorThreadSync.java:157)
[java] at com.pega.pegarules.session.internal.authorization.context.ContextUtils.getAppStackForApplication(ContextUtils.java:543)
[java] at com.pega.pegarules.session.internal.mgmt.base.RequestorPassivation.configureRequestorImpl(RequestorPassivation.java:463)
[java] at com.pega.pegarules.session.internal.authorization.context.BasicApplicationContext.createAppStackForAccessGroup(BasicApplicationContext.java:655)
[java] at com.pega.pegarules.session.internal.mgmt.PRRequestorBase.configureRequestor(PRRequestorBase.java:509)
[java] at com.pega.pegarules.session.internal.authorization.context.BasicApplicationContext.updateDefinition(BasicApplicationContext.java:489)
[java] at com.pega.pegarules.session.internal.mgmt.PRRequestorImpl.<init>(PRRequestorImpl.java:298)
[java] at com.pega.pegarules.session.internal.authorization.context.BasicApplicationContext.<init>(BasicApplicationContext.java:159)
[java] at com.pega.pegarules.session.internal.mgmt.PRRequestorImpl.acquire(PRRequestorImpl.java:322)
[java] at com.pega.pegarules.session.internal.mgmt.base.MultiThreadRequestorFactory.acquire(MultiThreadRequestorFactory.java:61)
[java] at com.pega.pegarules.session.internal.authorization.context.GlobalContextCache.getBasicApplicationContext(GlobalContextCache.java:425)
[java] at com.pega.pegarules.session.internal.mgmt.base.NodeRequestorMgt.createRequestorImpl(NodeRequestorMgt.java:1397)
[java] at com.pega.pegarules.session.internal.authorization.context.GlobalContextCache.getLocalizedApplicationContext(GlobalContextCache.java:459)
[java] at com.pega.pegarules.session.internal.mgmt.PRNodeImpl.createRequestor(PRNodeImpl.java:248)
[java] at com.pega.pegarules.session.internal.authorization.context.AuthorizationContextManagerImpl.getContext(AuthorizationContextManagerImpl.java:130)
[java] at com.pega.pegarules.session.internal.PRSessionProviderImpl.borrowRequestor(PRSessionProviderImpl.java:619)
[java] at com.pega.pegarules.session.internal.authorization.SessionAuthorization.getContext(SessionAuthorization.java:542)
[java] at com.pega.pegarules.session.internal.PRSessionProviderImpl.borrowRequestor(PRSessionProviderImpl.java:632)
[java] at com.pega.pegarules.session.internal.authorization.SessionAuthorization.getContext(SessionAuthorization.java:517)
[java] at com.pega.pegarules.session.internal.async.ActivationThread.createActivationRequestor(ActivationThread.java:111)
[java] at com.pega.pegarules.session.internal.authorization.SessionAuthorization.reset(SessionAuthorization.java:452)
[java] at com.pega.pegarules.session.internal.async.ActivationThread.<clinit>(ActivationThread.java:75)
[java] at com.pega.pegarules.session.internal.async.ActivationThreadFactory.newProduct(ActivationThreadFactory.java:61)
[java] at com.pega.pegarules.session.internal.authorization.SessionAuthorization.<init>(SessionAuthorization.java:243)
[java] ... 56 more



Steps to Reproduce



1. Install Pega 7.1.5 using split DB schemas using empty schemas Pega 7 RULES and Pega 7 DATA.
2. After Pega 7 starts-up import a Pega 6.3 version application using Application>Distribution>Import

    For migration import application used sample application from 6.3 SP1.
3. Run the Application Upgrade Wizard using Designer StudioSystem>Upgrade>Update Existing Applications
.
    General migration of the application works fine up to this point.
4. Stop Pega 7 and Pega 6 installation process.
5. Run script upgrade.bat –dataOnly true specifying the old Pega 6 DB schema as the DATA schema and the new Pega 7 RULES schema as the RULES schema (associating setUpDatapase.properties). When running the script this error message appears: No such Rule-Application   instance PegaRULES 06.03



Root Cause



During standrad rules migration step pr_data_admin table gets migrated as well into the new rules schema and perform upgrade (accessgroup is updated to use latest version). But in this case data table migration does not happen because of avoiding migration and using a fresh installation.


Resolution



There are two options to perform the custom upgrade for as per above requirement:
 
  • Using above steps and then exporting the PRPC:Agents and PRPC:unauthenticated accessgroups from Pega7 install and importing them on Pega6 was equal to migrating data admin table and upgrading, it resolved the dataOnly upgrade error reported.
 
You must be careful about following issues below with this upgrade:
a. Need to manually migrate from Pega 6 to Pega 7 RULES schema any adjustments made to the rules tables.
b. Encountering the error No such Rule-Application instance: it is a valid approach to have AccessGroups PRPC:Agents and PRPC:unauthenticated exported from Pega 7 and imported into the old Pega 6 schema now used as DATA schema by Pega 7 before running the upgrade.bat –dataOnly script
c.After importing the Pega 6 application into Pega 7, Rule Application instances, built upon versions, Ruleset Versions and their prerequisites must be properly adjusted to refer to their Pega 7 counterparts. This can be done in part by the “Upgrade existing Application” Wizard but requires some manual modifications as well.
(Or)
  • Use the out-of-place upgrade described in the deployment guide on the PDN is the supported and documented process from one schema to Split Schema. And as far as clean up goes, use the cleanup scripts generated during the upgrade as a template example for cleaning up your own rules.

 

Published June 12, 2015 - 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