Receiving 500 Error When Loading a Filter after Upgrade Process
症状
When user is trying to open a filter in JIRA after the process of upgrading, the following exception appears on atlassian-jira.log
:
2014-05-29 08:48:43,630 http-bio-8080-exec-11 ERROR admin@admin.com 528x3115x1 1pyecen 192.168.2.99 /rest/gadget/1.0/issueTable/filter [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: com.atlassian.jira.exception.DataAccessException: Could not find any field config schemes for field config 'XXXXX'
at com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl.getConfigSchemeForFieldConfig(FieldConfigSchemeManagerImpl.java:92)
at com.atlassian.jira.jql.util.JqlSelectOptionsUtil.optionIsVisible(JqlSelectOptionsUtil.java:181)
at com.atlassian.jira.jql.util.JqlSelectOptionsUtil.getOptions(JqlSelectOptionsUtil.java:91)
...
Caused by: com.atlassian.jira.exception.DataAccessException: Could not find any field config schemes for field config 'XXXXX'
原因
Duplicate values in the fieldconfiguration table.
ソリューション
Before you proceed to execute the following SQL statements we strongly recommend you to perform an XML Backup of your JIRA instance first to ensure that if anything goes wrong, we will be able to roll back right after that to minimise the impact on your side. Please take note that the SQL queries might vary with different types of database. Please modify it accordingly
After that, please run the following SQL steps respectively:
- Listing down all the duplicates of the affected_custom_field on the
fieldconfiguration
table:
select * from fieldconfiguration where fieldid like '%customfield_id' order by id ASC;
- Removing the all of the duplicates of affected_custom_field from the
fieldconfiguration
table:
delete from fieldconfiguration where fieldid like '%customfield_id';
- Inserting back single value of affected_custom_field into the
fieldconfiguration
table:
insert into fieldconfiguration values (10202, 'Default Configuration for Category', 'Default configuration generated by JIRA', 'customfield_id');
- Restart your JIRA instance after that and run a full re-index process to ensure that all your data are in the consistent state