HTTP Status 500 - Unknown column 'this.external_id' in 'field list'

Rakesh Sankar November 15, 2013
The title says it all, but below is some snippet of the error information. Please help.

What I did
I have upgraded the Confluence from 5.0.x to the latest via .bin (64 bit) on our instance. The upgrade went well and the installation reported that the Confluence has been upgraded successfully. I tried to restart and I see only HTTP Status 500 error with the below snippet of the error message.

Solution That I tried
I have tried the below solution but in vain.
  1. https://confluence.atlassian.com/display/CONFKB/How+to+Change+All+Columns%27+Collation+to+utf8_bin+in+MySQL
  2. https://answers.atlassian.com/questions/218119/confluence-error-missing-field-external_id

Error Info
org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: Unable to perform find; bad SQL grammar []; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'this.external_id' in 'field list' org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:97) org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72) org.springframework.orm.hibernate.HibernateAccessor.convertJdbcAccessException(HibernateAccessor.java:364) org.springframework.orm.hibernate.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:351) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:375) org.springframework.orm.hibernate.HibernateTemplate.execute(HibernateTemplate.java:337) com.atlassian.crowd.embedded.hibernate2.HibernateUserDao.internalFindUser(HibernateUserDao.java:472) com.atlassian.crowd.embedded.hibernate2.HibernateUserDao.internalFindByName(HibernateUserDao.java:449) com.atlassian.crowd.embedded.hibernate2.HibernateUserDao.findByName(HibernateUserDao.java:429) com.atlassian.confluence.user.crowd.CachedCrowdUserDao$1.apply(CachedCrowdUserDao.java:76) com.atlassian.confluence.user.crowd.CachedCrowdUserDao$1.apply(CachedCrowdUserDao.java:71) com.atlassian.confluence.cache.option.OptionalReadThroughCache.get(OptionalReadThroughCache.java:33) com.atlassian.confluence.user.crowd.CachedCrowdUserDao.findUser(CachedCrowdUserDao.java:136) com.atlassian.confluence.user.crowd.CachedCrowdUserDao.findByName(CachedCrowdUserDao.java:158)

1 answer

1 accepted

1 vote
Answer accepted
Rakesh Sankar November 15, 2013

Thanks to Hercules. It gave me a hint to a solution that solved this problem. Some of the tables were in MyISAM and when I replaced those tables with InnoDB and made the MySQL default engine type to InnoDB, the problem was solved.

I think the automatic upgrade should do this as part of the checklist and ensure that the DB schema contains an appropriate configuration/data.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events