MySQL Incorrect information in file .frm
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
Symptoms
Certain actions not working in Fisheye/Crucible such as not able to add new project with the following appears in the atlassian-fisheye-<date>.log
:
1
2
3
4
5
6
7
8
9
10
2013-05-22 11:05:06,737 WARN [btpool0-87 ] org.hibernate.util.JDBCExceptionReporter JDBCExceptionReporter-logExceptions - SQL Error: 1033, SQLState: HY000
2013-05-22 11:05:06,738 ERROR [btpool0-87 ] org.hibernate.util.JDBCExceptionReporter JDBCExceptionReporter-logExceptions - Incorrect information in file: './fisheye/cru_proj_default_reviewer.frm'
2013-05-22 11:05:06,743 ERROR [btpool0-87 ] fisheye TotalityFilter-logExceptionDetails - Exception "could not initialize a collection: [com.cenqua.crucible.model.Project.defaultReviewerUsers#2] (through reference chain: com.atlassian.fecrurestplugin.common.data.RecentlyVisitedItems["projects"]->com.atlassian.fecrurestplugin.common.data.Projects["project"]->com.google.common.collect.TransformingRandomAccessList[0])" (org.codehaus.jackson.map.JsonMappingException) while processing "/rest/api/1.0/rest-service-fecru/recently-visited-v1/detailed.json" (Referer:"http://localhost:8060/projects")
org.codehaus.jackson.map.JsonMappingException: could not initialize a collection: [com.cenqua.crucible.model.Project.defaultReviewerUsers#2] (through reference chain: com.atlassian.fecrurestplugin.common.data.RecentlyVisitedItems["projects"]->com.atlassian.fecrurestplugin.common.data.Projects["project"]->com.google.common.collect.TransformingRandomAccessList[0])
at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:218)
at org.codehaus.jackson.map.JsonMappingException.wrapWithPath(JsonMappingException.java:197)
at org.codehaus.jackson.map.ser.std.SerializerBase.wrapAndThrow(SerializerBase.java:166)
at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:127)
at org.codehaus.jackson.map.ser.std.StdContainerSerializers$IndexedListSerializer.serializeContents(StdContainerSerializers.java:71)
at org.codehaus.jackson.map.ser.std.AsArraySerializerBase.serialize(AsArraySerializerBase.java:86)
Diagnosis
Run the following command in the Fisheye/Crucible database:
1
mysqlcheck --database fisheye;
There will be an error when checking the table.
Cause
.frm
file for the problematic table is corrupted in the MySQL server.
Solution
Resolution
Delete the current database and restore the database from a backup.
If there isn't any backup for the database, use the following steps to create another .frm
file:
Create a staging Fisheye/Crucible server
Connect it to another MySQL database server
From the new database, copy over the same
.frm
file to replace the problematic.frm
file in the production serverRestart Fisheye/Crucible production server
Was this helpful?