Legacy Knowledge Base
Published Sep. 10, 2025

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

Written By

Brian Suh

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

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.
Did this article resolve your issue ?

Legacy Knowledge Base