Details
-
Bug
-
Resolution: Timed out
-
Medium
-
None
-
2.7, 2.6.4
-
None
-
None
Description
Steps to Reproduce
- Install Crowd 2.0.6 using SQL Server
- Upgrade Crowd to 2.7.x via automatic database upgrade
Expected Results
Upgrade should be successful
Actual Results
Upgrade fails with the following errors:
2013-09-25 20:49:23,018 main INFO [crowd.manager.upgrade.UpgradeManagerImpl] Running upgrade task for build - 427: Updating the local column in cwd_group from null to false 2013-09-25 20:49:23,064 main WARN [org.hibernate.util.JDBCExceptionReporter] SQL Error: 207, SQLState: 42S22 2013-09-25 20:49:23,064 main ERROR [org.hibernate.util.JDBCExceptionReporter] Invalid column name 'is_local'. 2013-09-25 20:49:23,067 main ERROR [crowd.manager.upgrade.UpgradeManagerImpl] could not execute update query; SQL [update cwd_group set is_local='F' where is_local is null]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute update query org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute update query; SQL [update cwd_group set is_local='F' where is_local is null]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute update query at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:635) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
Crowd 2.0.x does not have is_local column in cwd_group table. However, during the upgrade, Crowd is trying to modify all null values in is_local column, which is non-existent
Environment Information
Tested by upgrading from 2.0.6 to 2.6.4 and from 2.0.6 to 2.7
Findings
This issue does not occur in MySQL-based Crowd. During the upgrade, the is_local column is added before Crowd tries to modify data in this column.
Workarounds
You can do one of the following:
- Upgrade to Crowd 2.3.x first before upgrading to Crowd 2.6.x and above
- Upgrade via XML data transfer