SQL Exception Warnings Appear During DXP Upgrade Indicating 'Fallback to recreating the table'

This article documents a false negative warning message that can occur when upgrading your Liferay platform, and which has caused some confusion amongst our users.

During the Liferay DXP upgrade process, several WARN messages are issued with an SQL exception such as follows:

11:01:50,141 WARN [main][UpgradeProcess:434] Fallback to recreating the table
java.sql.SQLException: ORA-22859: invalid modification of columns_ [Sanitized]
 at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
 at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
 at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
 at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
 at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1035)
 at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:183)
 at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:942)
 at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1223)
 at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1711)
 at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1679)
 at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:275)
 at com.zaxxer.hikari.pool.ProxyStatement.executeUpdate(ProxyStatement.java:120)
 at com.zaxxer.hikari.pool.HikariProxyStatement.executeUpdate(HikariProxyStatement.java)
 at com.liferay.portal.dao.db.BaseDB.runSQL(BaseDB.java:293)
 at com.liferay.portal.dao.db.BaseDB.runSQL(BaseDB.java:262)
 at com.liferay.portal.kernel.dao.db.BaseDBProcess.runSQL(BaseDBProcess.java:66)
 at com.liferay.portal.kernel.upgrade.UpgradeProcess.alter(UpgradeProcess.java:406)
 at com.liferay.portal.upgrade.v7_0_0.UpgradeAsset.doUpgrade(UpgradeAsset.java:44)
 at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:90)
 at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:117)
 at com.liferay.portal.upgrade.UpgradeProcess_7_0_0.doUpgrade(UpgradeProcess_7_0_0.java:73)
 at com.liferay.portal.kernel.upgrade.UpgradeProcess.upgrade(UpgradeProcess.java:90)
 at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil._upgradeProcess(UpgradeProcessUtil.java:175)
 at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil.upgradeProcess(UpgradeProcessUtil.java:143)
 at com.liferay.portal.kernel.upgrade.util.UpgradeProcessUtil.upgradeProcess(UpgradeProcessUtil.java:125)
 at com.liferay.portal.events.StartupHelper.upgradeProcess(StartupHelper.java:164)
 at com.liferay.portal.events.StartupHelperUtil.upgradeProcess(StartupHelperUtil.java:81)
 at com.liferay.portal.tools.DBUpgrader.upgrade(DBUpgrader.java:153)
 at com.liferay.portal.tools.DBUpgrader.main(DBUpgrader.java:99)
 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)

Resolution

No action is required at this time, as this behavior is expected in Liferay environments prior to Fix Pack DE-41. The warnings indicate that the upgrade process has executed the fallback mechanism to properly recreate the table in question after facing an inability to alter the tables directly.

Note: An improvement has been introduced (LPS-78007)—in Fix Pack DE-41 and above—to make the fallback messaging more clear for the user to understand. Upon encountering the same type of SQL exception, the upgrade process will instead print out the following message:

Applying fallback consisting in recreating the table due to: SQL EXCEPTION

Once the table has been recreated and upgraded, the below confirmation message will follow:

Fallback applied successfully. Table upgraded correctly.
¿Fue útil este artículo?
Usuarios a los que les pareció útil: 0 de 0