Upon Confluence upgrade to 2.7 or later, admin may discover that the KEYSTORE table does not exist.
An upgrade misconfiguration is known to can cause this. For example:
- Admin created a test Confluence instance of the latest version and new database, then shut it down
- Admin imported production database into this new instance
- Admin copied production instance's Confluence Home but kept the test instance's confluence.cfg.xml. This xml file contains the target version's build number.
- Admin started test instance in the hope that this will upgrade Confluence.
- Because Confluence see that the build number in confluence.cfg.xml is the same as the running Confluence version, the upgrade is skipped.
Step 3 is wrong. The confluence.cfg.xml should also be reverted to the old build number (click here for Confluence Build Information).
ERROR [DefaultQuartzScheduler_Worker-6] [confluence.importexport.impl.BackupExporter] backupEntities Couldn't backup database data.
org.springframework.jdbc.BadSqlGrammarException: Hibernate operation: Could not execute query; bad SQL grammar ; nested exception is com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'confluencedb271.KEYSTORE' doesn't exist
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Table 'confluencedb271.KEYSTORE' doesn't exist
This issue can be prevented had we have CONF-18085 implemented.