Jira server throws 500 page with column already exists error

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Problem

Accessing JIRA issues, project, and/or the Lexorank Management page results in 500 errors.

The following appears in the atlassian-jira.log

  • Error for MSQL:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2017-01-12 10:20:48,498 http-nio-8000-exec-22 ERROR anonymous 620x462x1 4ffbba 10.12.14.61 /browse/TEST [o.a.c.c.C.[.[localhost].[/].[default]] Servlet.service() for servlet default threw exception java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy2946.getAll(Unknown Source) at com.atlassian.greenhopper.service.rapid.ProjectRapidViewServiceImpl.findRapidViewsByProject(ProjectRapidViewServiceImpl.java:42) at com.atlassian.greenhopper.web.sidebar.ProjectBoardsHelper.getProjectBoards(ProjectBoardsHelper.java:53) at com.atlassian.greenhopper.web.sidebar.BoardScopeFilterContextProviderImpl.getContext(BoardScopeFilterContextProviderImpl.java:47) at com.atlassian.jira.projects.context.ProjectContextPopulatorImpl.populateWithProject(ProjectContextPopulatorImpl.java:82) at com.atlassian.jira.projects.sidebar.navigation.SidebarNavigationService.getNavigationItemById(SidebarNavigationService.java:49) at com.atlassian.jira.projects.sidebar.lastvisited.LastVisitedNavigationItemHelper.getNavigationItemById(LastVisitedNavigationItemHelper.java:58) at com.atlassian.jira.projects.sidebar.lastvisited.LastVisitedItemInProjectService.lambda$getLastVisitedItem$0(LastVisitedItemInProjectService.java:81) at java.util.Optional.flatMap(Optional.java:241) ... Caused by: java.sql.SQLException: Column names in each table must be unique. Column name 'BUCKET' in table 'dbo.AO_60DB71_LEXORANK' is specified more than once. at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372) at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988) at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421) at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671) at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:613) at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:809) at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1288) at net.sourceforge.jtds.jdbc.JtdsStatement.executeUpdate(JtdsStatement.java:1241) at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234) at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234) at net.java.ao.DatabaseProvider.executeUpdate(DatabaseProvider.java:2238) at net.java.ao.DatabaseProvider.executeUpdateForAction(DatabaseProvider.java:2294) at net.java.ao.DatabaseProvider.executeUpdatesForActions(DatabaseProvider.java:2266) at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.addColumn(AOUpgradeTask001.java:83) ... 51 more
  • Error for PosgreSQL

1 Caused by: org.postgresql.util.PSQLException: ERROR: column "BUCKET" of relation "AO_60DB71_LEXORANK" already exists
  • Error for Oracle

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 2018-04-19 03:52:49,424 http-nio-8090-exec-12 ERROR admin 232x124x1 bzw6pq 10.1.1.1 /browse/DEV-1 [c.a.j.web.component.ModuleWebComponentImpl] An exception occured while rendering the web panel: com.pyxis.greenhopper.jira:greenhopper-agile-issue-web-panel (null) java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy3013.getSprint(Unknown Source) at com.atlassian.greenhopper.customfield.sprint.SprintCFType.convertDbValueToType(SprintCFType.java:460) ... Caused by: com.atlassian.activeobjects.internal.ActiveObjectsInitException: bundle [com.pyxis.greenhopper.jira] at com.atlassian.activeobjects.osgi.TenantAwareActiveObjects$1$1$1.call(TenantAwareActiveObjects.java:86) at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ... 1 more Caused by: java.lang.RuntimeException: java.sql.SQLException: ORA-01430: column being added already exists in table at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.addColumn(AOUpgradeTask001.java:88) at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.upgrade(AOUpgradeTask001.java:66) at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:68) at com.atlassian.activeobjects.internal.ActiveObjectUpgradeManagerImpl$1.doInTransaction(ActiveObjectUpgradeManagerImpl.java:64) at com.atlassian.jira.DefaultHostContextAccessor.doInTransaction(DefaultHostContextAccessor.java:34) ... 2 filtered ... 6 more Caused by: java.sql.SQLException: ORA-01430: column being added already exists in table at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494) at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446) at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1054) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:213) at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:37) at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:896) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1119) at oracle.jdbc.driver.OracleStatement.executeUpdateInternal(OracleStatement.java:1661) at oracle.jdbc.driver.OracleStatement.executeLargeUpdate(OracleStatement.java:1626) at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1613) at oracle.jdbc.driver.OracleStatementWrapper.executeUpdate(OracleStatementWrapper.java:282) at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234) at org.apache.commons.dbcp2.DelegatingStatement.executeUpdate(DelegatingStatement.java:234) at net.java.ao.DatabaseProvider.executeUpdate(DatabaseProvider.java:2238) at net.java.ao.DatabaseProvider.executeUpdateForAction(DatabaseProvider.java:2294) at net.java.ao.DatabaseProvider.executeUpdatesForActions(DatabaseProvider.java:2266) at com.atlassian.greenhopper.upgrade.AOUpgradeTask001.addColumn(AOUpgradeTask001.java:83) ... 52 more Caused by: Error : 1430, Position : 38, Sql = ALTER TABLE "AO_60DB71_LEXORANK" ADD ("BUCKET" NUMBER(11) DEFAULT 0), OriginalSql = ALTER TABLE "AO_60DB71_LEXORANK" ADD ("BUCKET" NUMBER(11) DEFAULT 0), Error Msg = ORA-01430: column being added already exists in table at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498) ... 71 more

Diagnosis

Environment

  • JIRA Software 7.2.x (or later)

Diagnostic Steps

  • A JIRA restore/upgrade was recently performed

Cause

AO framework can't detect that BUCKET column is already present, so JIRA Agile is attempting to run steps to create the "AO_60DB71_LEXORANK.BUCKET" column when it already exists.

Solution

Workaround

Drop the "BUCKET" column, allowing JIRA Agile to complete the process.

  1. Shutdown JIRA

  2. Run the following SQL queries:

    SQL Server

    1 2 3 ALTER TABLE dbo.AO_60DB71_LEXORANK DROP CONSTRAINT df_AO_60DB71_LEXORANK_BUCKET; DROP INDEX AO_60DB71_LEXORANK.index_ao_60db71_lex1694305086; -- only needed for 7.3.0. Index name may vary, please double check index names ALTER TABLE AO_60DB71_LEXORANK DROP COLUMN BUCKET;

    MySQL

    1 2 ALTER TABLE AO_60DB71_LEXORANK drop column BUCKET; DROP INDEX index_ao_60db71_lex1694305086 on AO_60DB71_LEXORANK; -- Index name may vary, please double check index names

    PostgreSQL or Oracle

    1  ALTER TABLE "AO_60DB71_LEXORANK" DROP COLUMN "BUCKET";
  3. Restart JIRA

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.