Issue
- During your upgrade process, you might encounter an error where the upgrade step for module com.liferay.dynamic.data.mapping.service fails due to a NullPointerException:
Caused by: java.lang.NullPointerException
at com.liferay.dynamic.data.mapping.internal.io.DDMFormValuesJSONDeserializer.getDDMFormFieldValues(DDMFormValuesJSONDeserializer.java:137) ~[?:?]
at com.liferay.dynamic.data.mapping.internal.io.DDMFormValuesJSONDeserializer.setDDMFormFieldValues(DDMFormValuesJSONDeserializer.java:184) ~[?:?]
at com.liferay.dynamic.data.mapping.internal.io.DDMFormValuesJSONDeserializer.deserialize(DDMFormValuesJSONDeserializer.java:85) ~[?:?]
at com.liferay.dynamic.data.mapping.util.DDMFormValuesDeserializeUtil.deserialize(DDMFormValuesDeserializeUtil.java:39) ~[?:?]
at com.liferay.dynamic.data.mapping.internal.upgrade.v1_1_2.DynamicDataMappingUpgradeProcess._upgradeDDMContentReferences(DynamicDataMappingUpgradeProcess.java:338) ~[?:?]
at com.liferay.dynamic.data.mapping.internal.upgrade.v1_1_2.DynamicDataMappingUpgradeProcess._upgradeDDLDDMContentReferences(DynamicDataMappingUpgradeProcess.java:310) ~[?:?]
at com.liferay.dynamic.data.mapping.internal.upgrade.v1_1_2.DynamicDataMappingUpgradeProcess.doUpgrade(DynamicDataMappingUpgradeProcess.java:77) ~[?:?]
at com.liferay.portal.kernel.upgrade.UpgradeProcess.lambda$upgrade$0(UpgradeProcess.java:130) ~[portal-kernel.jar:?]
at com.liferay.portal.db.partition.DBPartitionUtil.forEachCompanyId(DBPartitionUtil.java:126) ~[portal-impl.jar:?]
at com.liferay.portal.dao.db.BaseDB.process(BaseDB.java:337) ~[portal-impl.jar:?]
at com.liferay.portal.kernel.dao.db.BaseDBProcess.process(BaseDBProcess.java:387) ~[portal-kernel.jar:?]
at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:115) ~[portal-kernel.jar:?]
...
- The issue comes from the fact that during this upgrade process after a select, the DDMContent table rows do not have any value in the
data_
field, and this is causing NPE.
Environment
- Liferay DXP 7.4
Resolution
- You can either clear the faulty submitted Forms from the UI or,
-
Make sure that these rows have valid
data_
values, for example:
{"availableLanguageIds":["en_US"],"defaultLanguageId":"en_US","fieldValues":[{"instanceId":"Vzi8vaU9","name":"Field90060531","fieldReference":"Field90060531","value":{"en_US":"test submission"}}]}
Additional Information
- The DDMContent rows are storing data from submitted Forms
Subscriber Exclusive Content
A Liferay Enterprise Subscription provides access to over 1,500 articles that include best practices, troubleshooting, and other valuable solutions. Sign in for full access.
Sign In