Internal Server Error message is displayed when clicking on the Agile menu
Symptoms
- The message "Internal Server Error" is displayed when clicking on the Agile menu.
- No issues appear on the planning board
The following appears in the atlassian-greenhopper.log
:
com.atlassian.activeobjects.internal.ActiveObjectsSqlException: There was a SQL exception thrown by the Active Objects library:
Database:
- name:Oracle
- version:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
- minor version:2
- major version:11
Driver:
- name:Oracle JDBC driver
- version:11.2.0.2.0
java.sql.SQLException: ORA-01440: column to be modified must be empty to decrease precision or scale
at com.atlassian.activeobjects.internal.EntityManagedActiveObjects.migrate(EntityManagedActiveObjects.java:47)
at com.atlassian.activeobjects.internal.AbstractActiveObjectsFactory.create(AbstractActiveObjectsFactory.java:52)
at com.atlassian.activeobjects.internal.DelegatingActiveObjectsFactory.create(DelegatingActiveObjectsFactory.java:39)
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory.createActiveObjects(ActiveObjectsServiceFactory.java:125)
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory.access$000(ActiveObjectsServiceFactory.java:43)
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$1$1.get(ActiveObjectsServiceFactory.java:57)
at com.atlassian.activeobjects.osgi.ActiveObjectsServiceFactory$1$1.get(ActiveObjectsServiceFactory.java:53)
at com.atlassian.activeobjects.osgi.DelegatingActiveObjects$MemoizingSupplier.get(DelegatingActiveObjects.java:144)
Cause
The precision of the column "DEFAULT_LANE"
of the "AO_60DB71_SWIMLANE"
table has changed, and Oracle doesn't allow to decrease the precision of a column if it contains data. This is a bug being tracked in AO-319.
Workaround
- Stop JIRA.
- Backup your Oracle database.
- Export the content of the
"AO_60DB71_SWIMLANE"
table inINSERT
statements. Delete the content of the
"AO_60DB71_SWIMLANE"
table by running the following SQL query in your database:DELETE FROM AO_60DB71_SWIMLANE;
- Commit the changes.
Correct the precision on the column
"DEFAULT_LANE"
by running the following SQL query in your database:ALTER TABLE AO_60DB71_SWIMLANE MODIFY (DEFAULT_LANE NUMBER(1,0) NOT NULL);
Now, import the data from the table
"AO_60DB71_SWIMLANE"
that was previously exported, replacing the "ID" field for the sequence"AO_60DB71_SWIMLANE_ID_SEQ.NEXTVAL"
that populates this field. The insert statement will look like this:Insert into JIRA.AO_60DB71_SWIMLANE (DEFAULT_LANE,DESCRIPTION,ID,NAME,POS,QUERY,RAPID_VIEW_ID) values (0,'Issues assigned to me',AO_60DB71_SWIMLANE_ID_SEQ.NEXTVAL,'Issue',1,'assignee = currentUser()',62);
- Commit the changes made.
- Restart JIRA.
- Clicking on 'Agile' should not display any errors. If it does, please raise a support ticket at https://support.atlassian.com.