Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Why does my upgrade to anything newer than 8.9 fail?

Hi everyone


I have a Server installation using the official docker image here :

My version was 8.8.0 and it was running smoothly connected to a mysql database in the background (version 5.7.31). As the documentation of the image on dockerhub states, we can just replace the image tag and start jira with a newer version. That's what I intended to do with the new version 8.13.0. It failed because of some columns that are missing in the mailserver table in the database. Turns out I can upgrade to 8.9.0, but not anything above (8.10.0 fails with the same error message). Can you tell me how I can upgrade my Jira-Version? I had to roll back to the old version and use a database backup to get things up and running again.

Here is part of the exception I get when starting with any version newer than 8.9:

2020-10-15 14:53:15,690+0200 Caesium-1-3 ERROR [c.a.upgrade.core.DefaultUpgradeTaskFactoryProcessor] Upgrade task [host,buildNumber=812001] failed
com.querydsl.core.QueryException: Caught SQLSyntaxErrorException for select,, MAIL_SERVER.description, MAIL_SERVER.mailfrom, MAIL_SERVER.prefix, MAIL_SERVER.smtp_port, MAIL_SERVER.protocol, MAIL_SERVER.server_type, MAIL_SERVER.servername, MAIL_SERVER.jndilocation, MAIL_SERVER.mailusername, MAIL_SERVER.mailpassword, MAIL_SERVER.istlsrequired, MAIL_SERVER.timeout, MAIL_SERVER.socks_port, MAIL_SERVER.socks_host, MAIL_SERVER.auth_conf, MAIL_SERVER.cipher_type
from aki_dbs_jira.mailserver MAIL_SERVER
where MAIL_SERVER.mailpassword is not null and MAIL_SERVER.cipher_type is null
at com.querydsl.sql.DefaultSQLExceptionTranslator.translate(
at com.querydsl.sql.Configuration.translate(
at com.querydsl.sql.AbstractSQLQuery.fetch(
at com.atlassian.jira.upgrade.tasks.UpgradeTask_Build812001.lambda$runUpgrade$1(
at com.atlassian.jira.database.DefaultQueryDslAccessor.lambda$execute$1(
at com.atlassian.jira.database.DatabaseAccessorImpl.lambda$runInTransaction$0(
at com.atlassian.jira.database.DatabaseAccessorImpl.executeQuery(
at com.atlassian.jira.database.DatabaseAccessorImpl.runInTransaction(
at com.atlassian.jira.database.DefaultQueryDslAccessor.execute(
at com.atlassian.jira.upgrade.tasks.UpgradeTask_Build812001.runUpgrade(
at com.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.runOneUpgradeTask(
at com.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.lambda$performUpgradesUnsafe$13(
at com.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.performUpgradesUnsafe(
at com.atlassian.upgrade.core.DefaultUpgradeTaskFactoryProcessor.performUpgrades(
at com.atlassian.upgrade.core.DefaultUpgradeTaskManager.upgradeHostApp(
at com.atlassian.jira.upgrade.LicenseCheckingUpgradeService.executeUpgrades(
at com.atlassian.jira.upgrade.LicenseCheckingUpgradeService.runUpgrades(
at com.atlassian.jira.upgrade.ClusterLockingUpgradeService.runUpgrades(
at com.atlassian.jira.upgrade.LoggingUpgradeService.lambda$runUpgradesWithLogging$0(
at com.atlassian.jira.upgrade.LoggingUpgradeService.runWithTaskLogging(
at com.atlassian.jira.upgrade.LoggingUpgradeService.runUpgradesWithLogging(
at com.atlassian.jira.upgrade.IndexingUpgradeService.runUpgrades(
at com.atlassian.jira.upgrade.UpgradeScheduler.runHostUpgrades(
at com.atlassian.jira.upgrade.UpgradeScheduler.runUpgrades(
at com.atlassian.scheduler.core.JobLauncher.runJob(
at com.atlassian.scheduler.core.JobLauncher.launchAndBuildResponse(
at com.atlassian.scheduler.core.JobLauncher.launch(
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.launchJob(
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJob(
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeClusteredJobWithRecoveryGuard(
at com.atlassian.scheduler.caesium.impl.CaesiumSchedulerService.executeQueuedJob(
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeJob(
at com.atlassian.scheduler.caesium.impl.SchedulerQueueWorker.executeNextJob(
Caused by: java.sql.SQLSyntaxErrorException: Unknown column 'MAIL_SERVER.auth_conf' in 'field list'
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.

3 answers

1 accepted

I got help from the support and was able to fix this problem (although using docker images the solution is not very elegant as you have to remove a parameter in the dbconfig.xml that is set by default in the official image): 

The biggest issue, that blocks JIRA from functioning properly is its inability to create/update tables. Upon closer inspection of your dbconfig.xml file, we suspect, that the root cause of your problems may be an incorrect MySQL schema. You can read more about this issue in our documentation. The steps to fix this problem are listed below.

  1. Stop the JIRA Server.
  2. Delete the "<schema-name>somename</schema-name>" line from your dbconfig.xml file.
  3. Start JIRA Server. The tables should be updated successfully.

Thanks for the hint!

After struggling many hours with this issue I can finally confirm the simple and elegant solution to run Jira in docker.


The root of the issue is of course <schema-name> entry in dbconfig.xml, and it is populated when you define ATL_DB_SCHEMA_NAME at container start.

However, if you do not define ALT_DB_SCHEMA_NAME, then Jira will set it for you to "public". You can of course manually remove this entry from dbconfig.xml, but I think I found simpler one.


Here is the solution without the need of modifying the running container.


1. Define ATL_DB_SCHEMA_NAME as empty variable when running the Jira container.

2. Define schema name in ATL_JDBC_URL variable instead, for example:

Tried updating step by step

8.5->8.6->8.7->8.9 went ok. 

8.9->8.10 - doesn't work due to the error above. mailserver table is missing auth_conf column. It seems for some reason Jira doesn't apply database migrations. /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/entitydefs/entitymodel.xml does indeed contain that column. Ended up manually creating the column with 

alter table mailserver add column auth_conf longtext

 This fixed the issue and all seemed to be working.

8.10->8.13 - even more missing columns. Manually added them with

alter table mailserver add column auth_conf longtext
alter table cwd_group add column external_id varchar(255)

Now everything appears to be working but who knows how many more columns Jira missed.

Maybe this is related to Jira being deployed in docker? I don't see any errors that would indicate that Jira couldn't migrate database schema. It starts properly and either you get an error on the UI or Jira itself encounters an error during "[c.a.jira.upgrade.UpgradeScheduler] Running scheduled upgrades".

I'm using official docker images. Database is also in docker mysql:5.7

Awesome, thanks for your effort. I still thought it necessary to open an official Issue concerning this upgrade because we can not be sure that the DB Migration has properly worked.

I will post any new information here.

Seeing the same error when trying to upgrade docker container from 8.5 to 8.13

Exactly. I was upgrading from 8.8 to 8.13. After some experimenting I found out that I can upgrade only up to 8.9. This error appears from 8.10 upwards

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Bitbucket

📣 Calling Bitbucket Data Center customers to participate in research

Hi everyone, Are you Bitbucket DC customer? If so, we'd love to talk to you! Our team wants to dive deep to understand your long-term plans regarding Bitbucket DC and Atlassian Cloud. Do you plan...

173 views 2 4
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you