When upgrading to 15.5 Service Pack 1 from a release prior to 15.5, the upgrade will fail

Document ID : KB000123130
Last Modified Date : 15/01/2019
Show Technical Document Details
Issue:
When upgrading to 15.5 Service Pack 1 from a release prior to 15.5, the upgrade will fail because of an incorrect use of the wrong version of the JDK during the upgrade process. This is a defect DE45971 In order to get around this the following process can be used.

STEPS TO REPRODUCE
1. Configure CA PPM application prior to 15.5.
2. Install JDK 11 and set the home path
3. Start the upgrade script and provide the necessary details.

Expected Results: Upgrade script upgrades the application to 15.5.1 in an incremental mode.
Actual Results: Upgrade fails at IS_CUSTOMER_DB.xml with the below error.
\clarity\.setup\scripts\db.xml:893: java.lang.NoClassDefFoundError: jdk/internal/reflect/MethodAccessorImpl
 
Environment:
CA PPM all version except CA PPM 15.5 
Cause:
This is a defect DE45971
Resolution:

When upgrading to 15.5.1 from a release prior to 15.5.0, the upgrade will fail because of an incorrect use of the wrong version of the JDK during the upgrade process. This is a defect DE45971 In order to get around this the following process can be used.
Workaround for direct upgrade to 15.5.1:
1. Prepare the release-install.properties file

Each release hop can be given a set of properties to use during the upgrade. In this case we want to specify the location of JDK8 for the upgrades to use.

  1. Create a file called release-install.properties in a convenient location on the same machine the upgrade is being done on. Add the following line to it and save the file:
java_home=<full path to the root of the jdk 8 installation>
For example, let’s say that on my Windows machine my Jdk 8 installation is under c:\jdks\jdk1.8.0_171. My release-install.properties file would contain (note the escaped path separators):
java_home=c:\\jdks\\jdk1.8.0_171
Linux example file content:
java_home= /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
 
2. Begin the upgrade
 
Start the 15.5.1 upgrade install script. After being prompted for and giving the location of the ‘Third Party Libraries Jar Directory’ we should copy over the release-install properties file to the upgrade directories. As an example, let’s say I am upgrading from 15.4.0. I will see something like this in the command prompt window:
 
Third Party Libraries Jar Directory [c:] : c:\deploy\tplib

You chose the following:

 thirdparty.libs.jar.dir = c:\deploy\tplib
 
Copying 1 file to c:
Created dir: c:\deploy\tplibsdir
Expanding: c:\deploy\thirdparty.libs.15.5.1.jar into c:\deploy\tplibsdir
 
Current version: 15.4.0.270
Upgrading to:15.5.1.240
 
 
Expanding: c:\deploy\install-packages\15.4.1\upgrade-repack.15.4.1.115tpexcludes.jar into c:\deploy\install-packages\15.4.1\upgrade-repack.15.4.1.115tpexcludes
Expanding: c:\deploy\install-packages\15.5.0\upgrade-repack.15.5.0.225tpexcludes.jar into c:\deploy\install-packages\15.5.0\upgrade-repack.15.5.0.225tpexcludes
 
You need to copy the release-install properties into each of the directories that were created through the expansion of the jar files,
c:\deploy\install-packages\15.4.1\upgrade-repack.15.4.1.115tpexcludes
c:\deploy\install-packages\15.5.0\upgrade-repack.15.5.0.225tpexcludes 
 
3. Continue the upgrade
At this point, the command should be waiting for user inputs to continue the upgrade. When prompted for the ‘J2SDK Home Directory’ give the full path to the root of the JDK 11 installation.


 
Additional Information:
Note 1: If your upgrade has already been running and the folders upgrade-repack.xtpexcludes already extracted from the package, you may directly copy the release-install.properties file without waiting for the install script to reach a certain stage. Once the $install\install-packages\1x.x\upgrade-repack.1x.xtpexcludes are extracted, they remain extracted and are reused by the installer.


Note 2: Alternative workaround is to upgrade to PPM 15.5 first, and then upgrade to PPM 15.5.1 (two-step upgrade)