Multiple errors in upgrading Liferay from 6.2 to 7.2

Sam Collett, modified 5 Years ago. New Member Posts: 20 Join Date: 11/11/19 Recent Posts
I am doing some work on upgrading a Liferay 6.1 site to Liferay 7.2, so far I have managed to upgrade Liferay 6.1 to Liferay 6.2, but I cannot upgrade from 6.2 to 7.2.
I am getting the following error when upgrading from Liferay 6.2 to 7.2: 

2019-12-09 14:50:14.141 INFO  [main][UpgradeProcess:107] Failed upgrade process com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal in 6250 ms
INFO - Failed upgrade process com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal in 6250 ms
2019-12-09 14:50:14.157 ERROR [main][ReleaseManagerOSGiCommands:147] Failed upgrade process for module com.liferay.journal.service
com.liferay.portal.kernel.upgrade.UpgradeException: com.liferay.dynamic.data.mapping.exception.TemplateNameException: Name is null
 
I am also getting an error in setting up the market place apps (files in OSGI download), this error is repeated for each application: 

2019-12-09 14:50:24.125 ERROR [main][JDBCExceptionReporter:234] Incorrect string value: '\xC2\x80\xC2\x99re...' for column `liferay`.`marketplace_app`.`description` at row 1
2019-12-09 14:50:24.141 ERROR [main][LPKGDeployerRegistrar:230] Unable to track installed app Liferay CE Forms and Workflow - Liferay CE Portal Rules Engine - API with Marketplace
org.hibernate.exception.DataException: Could not execute JDBC batch update

The database backend is Maria DB 10.4

When I visit the site in the browser, I can see the navigation menu, but no content. Logging in doesn't work and results in the following error:

2019-12-09 15:21:15.005 ERROR [http-nio-8080-exec-9][LoginMVCActionCommand:147] com.liferay.portal.kernel.exception.PwdEncryptorException: invalid keyLength value
com.liferay.portal.kernel.exception.PwdEncryptorException: invalid keyLength value
    at com.liferay.portal.security.pwd.PBKDF2PasswordEncryptor.encrypt(PBKDF2PasswordEncryptor.java:90)

This is a site that was updated from 6.1 to 6.2, then from 6.2 to 7.2
thumbnail
David H Nebinger, modified 5 Years ago. Liferay Legend Posts: 14933 Join Date: 9/2/06 Recent Posts
Hey, Sam, welcome.

The first error looks like a data issue. This typically requires some kind of cleanup to resolve. Typically I will start with a backup of the database, try the upgrade, and on failed records I'll investigate the failure. Sometimes the record gets deleted, sometimes the data just needs to be populated, etc. But I maintain an SQL file w/ all of my "fixes" in it.

Then I restore the database, run my "fixing" SQL script, then try the upgrade again. Wash, rinse, repeat until you get successfully through the upgrade. The good news is that the script you end up with is ready to run against your prod database when you're ready. It's hard to provide a specific resolution to each data problem because they can be varied per environment.

The second error looks like it is related to UTF8 charset. I'm not sure how you created your database, but Liferay does expect that the database will be created using the utf8 charset. Since you're getting errors on it, either the database is not set up for UTF8 or your connection profile isn't using UTF8 or maybe you have an older driver or ...  Not sure, but it is definitely connected with UTF8 interpretation.
thumbnail
Alberto Chaparro, modified 5 Years ago. Liferay Master Posts: 560 Join Date: 4/25/11 Recent Posts
Hi Sam,
Regarding this:

2019-12-09 14:50:14.141 INFO  [main][UpgradeProcess:107] Failed upgrade process com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal in 6250 ms
INFO - Failed upgrade process com.liferay.journal.internal.upgrade.v0_0_5.UpgradeJournal in 6250 ms
2019-12-09 14:50:14.157 ERROR [main][ReleaseManagerOSGiCommands:147] Failed upgrade process for module com.liferay.journal.service
com.liferay.portal.kernel.upgrade.UpgradeException: com.liferay.dynamic.data.mapping.exception.TemplateNameException: Name is null


Be sure that you have configure the locales in the same way you have them in 6.1. Review the name for all DDMTemplate records in 6.2.2019-12-09
15:21:15.005 ERROR [http-nio-8080-exec-9][LoginMVCActionCommand:147] com.liferay.portal.kernel.exception.PwdEncryptorException: invalid keyLength value
com.liferay.portal.kernel.exception.PwdEncryptorException: invalid keyLength value
    at com.liferay.portal.security.pwd.PBKDF2PasswordEncryptor.encrypt(PBKDF2PasswordEncryptor.java:90)

This is common when you haven't configured the property
passwords.encryption.algorithm.legacy
before the upgrade to 6.2:
https://portal.liferay.dev/docs/6-2/deploy/-/knowledge_base/d/upgrading-liferay#review-the-liferay-62-properties-defaults
You have to keep that property in 7.2 too.
Sam Collett, modified 5 Years ago. New Member Posts: 20 Join Date: 11/11/19 Recent Posts
Hi Alberto,
The first error appeared to be data related, I have en_GB as the only language in the database, so as a result there are templates set that only don't have en_US (resulting in the null).
The second error was encoding related, some of the columns were latin1, so setting the tables to utf8 and removing the collation from the columns fixed the OSGI related issues.
Setting the legacy algorithm fixed the login issue and since the OSGI modules now deploy properly I can see the sites and content as expected.
Thanks again for the help.
thumbnail
Alberto Chaparro, modified 5 Years ago. Liferay Master Posts: 560 Join Date: 4/25/11 Recent Posts
Hi Sam,We are here to help, really happy you completed the upgrade :-)
Thanks.