Installing JIRA Agile gives Error message "JIRA Agile is currently unavailable. This might be because an upgrade task has failed to run or has not not yet completed"
Symptoms
The following error message "JIRA Agile is currently unavailable. This might be because an upgrade task has failed to run or has not not yet completed" appears after installing JIRA Agile
and the following found in atlassian-jira.log
2014-11-26 08:54:10,508 localhost-startStop-1 INFO [atlassian.jira.startup.JiraStartupLogger] JIRA pre-database startup checks completed successfully.
2014-11-26 08:54:11,320 localhost-startStop-1 INFO [core.entity.jdbc.DatabaseUtil] Database Product Name is MySQL
2014-11-26 08:54:11,320 localhost-startStop-1 INFO [core.entity.jdbc.DatabaseUtil] Database Product Version is 5.6.21-log
2014-11-26 08:54:11,320 localhost-startStop-1 INFO [core.entity.jdbc.DatabaseUtil] Database Driver Name is MySQL Connector Java
2014-11-26 08:54:11,320 localhost-startStop-1 INFO [core.entity.jdbc.DatabaseUtil] Database Driver Version is mysql-connector-java-5.1.34 ( Revision: jess.balint@oracle.com-20141014163213-wqbwpf1ok2kvo1om )
2014-11-26 08:54:11,367 localhost-startStop-1 WARN [core.entity.jdbc.DatabaseUtil] Entity "Action" has no table in the database
2014-11-26 08:54:11,383 localhost-startStop-1 ERROR [core.entity.jdbc.DatabaseUtil] Could not create table "jiraaction"
2014-11-26 08:54:11,383 localhost-startStop-1 ERROR [core.entity.jdbc.DatabaseUtil] SQL Exception while executing the following:
CREATE TABLE jiraaction (ID DECIMAL(18,0) NOT NULL, issueid DECIMAL(18,0), AUTHOR VARCHAR(255), actiontype VARCHAR(255), actionlevel VARCHAR(255), rolelevel DECIMAL(18,0), actionbody LONGTEXT, CREATED DATETIME, UPDATEAUTHOR VARCHAR(255), UPDATED DATETIME, actionnum DECIMAL(18,0), CONSTRAINT PK_jiraaction PRIMARY KEY (ID))
Error was: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jiraaction' already exists
Diagnosis
The users should have the permission to
SELECT
,
INSERT
,
UPDATE
,
DELETE
,
CREATE
,
DROP
,
ALTER
,
INDEX.
To check whether you have granted these permission, you can run the following querySHOW GRANTS FOR 'username'@'hostname';
- The database should be using the recommended collation. You can refer to the documentation What Database Collation X Encoding Should be Used in JIRA to see which database collation you should be using
Cause
This error happens because the database gets corrupted, either by not having all permissions to access the database, or because of the collation.
Resolution
The resolution would be to create a new database with collation and ensure that the user has all permission granted for the database.
Create a database in your mysql with the following query:
create database database_name character set utf8 collate utf8_bin;
- Ensure that user has all permissions granted for that database
- Restore the data from the JIRA database into the new database created here.
- Update the dbconfig.xml file in JIRA HOME directory to point to the new database instead of the older database.