Uploaded image for project: 'Crowd Data Center'
  1. Crowd Data Center
  2. CWD-3655

Upgrading from 2.0.x to 2.6.x and above due to invalid column name is_local

    • Icon: Bug Bug
    • Resolution: Timed out
    • Icon: Medium Medium
    • None
    • 2.7, 2.6.4
    • None
    • None

      Steps to Reproduce

      1. Install Crowd 2.0.6 using SQL Server
      2. 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

            [CWD-3655] Upgrading from 2.0.x to 2.6.x and above due to invalid column name is_local

            joe added a comment -

            This needs more investigation before going further. There's been no activity or further inquiry for a long time, so I'm going to close it.

            joe added a comment - This needs more investigation before going further. There's been no activity or further inquiry for a long time, so I'm going to close it.

            joe added a comment -

            That upgrade task was introduced in Crowd 2.1 (Crowd 2.1 Release Notes). Does that version exhibit the same problem? Or is this report saying that this worked up to 2.3 and was broken somewhere after that?

            joe added a comment - That upgrade task was introduced in Crowd 2.1 ( Crowd 2.1 Release Notes ). Does that version exhibit the same problem? Or is this report saying that this worked up to 2.3 and was broken somewhere after that?

              Unassigned Unassigned
              asanusi AmaliaA
              Affected customers:
              1 This affects my team
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: