Jira server throws communication error when filtering or searching issues
- when filtering issues in the issue navigator by a custom field, or loading a filter whose query uses a particular custom field, JIRA returns an error message as follows: "Error Occurred Communicating with the server. Please reload the page and try again."
- Similar logs as the following appear in the
2014-03-21 05:42:02,663 http-bio-8180-exec-19 ERROR admin 342x15949x1 15kcaax 126.96.36.199,0:0:0:0:0:0:0:1 /rest/issueNav/1/issueTable [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service com.atlassian.cache.CacheException: com.atlassian.jira.exception.DataAccessException: Could not find any field config schemes for field config '10800' ... Caused by: com.atlassian.jira.exception.DataAccessException: Could not find any field config schemes for field config '10800' at com.atlassian.jira.issue.fields.config.persistence.FieldConfigSchemePersisterImpl.getConfigSchemeForFieldConfig(FieldConfigSchemePersisterImpl.java:208)
The problem with the filter or search query only occurs if a particular custom field is used in a search criteria.
You can detect a list of affected fieldconfigurations using the SQL:
select fc.id from fieldconfiguration fc left join fieldconfigschemeissuetype fcsit on (fc.id = fcsit.fieldconfiguration) where fcsit.id is null;
Basically, this is a database integrity issue that results from having an invalid entry in the fieldconfiguration table. It's not yet known for sure what is the cause of this, however, it is possible that perhaps there has been some failure when trying to delete one of a Custom Fields' configuration in the past.
Alwaysyour data before performing any modifications to the database. If possible, test any alter, insert, update, or delete SQL commands on a staging server first.
- Check in the stack trace similar to the one shown above for the ID of the problematic entry in the field config table. From the stacktrace above the ID of the field is 10800
Run the following SQL statement against JIRA Database to delete the problematic entry from the fieldconfiguration table
delete from fieldconfiguration where id='10800'; or // Delete all orphaned records in fieldconfiguration delete from fieldconfiguration where id in (select fc.id from fieldconfiguration fc left join fieldconfigschemeissuetype fcsit on (fc.id = fcsit.fieldconfiguration) where fcsit.id is null);
For Oracle databases, a COMMIT is required to apply the changes.
Check if that caused any orphaned records in customfieldoption table:
select count (customfieldconfig) from customfieldoption where customfieldconfig not in (select id from fieldconfiguration ); count ------- 0
if result is non-zero then proceed with following KB: Error thrown when accessing or creating JIRA Agile board due to Dead References on Cascading Select custom field and fix created data inconsistency.
Restart your JIRA instance, for the changes made to the database to take effect.
The table structure is as below:
// Check orphaned records in fieldconfiguration vs fieldconfigschemeissuetype select fc.id from fieldconfiguration fc left join fieldconfigschemeissuetype fcsit on (fc.id = fcsit.fieldconfiguration) where fcsit.id is null order by fc.id; // Check orphaned in customfieldoption vs fieldconfiguration select distinct(customfieldconfig) from customfieldoption where customfieldconfig not in (select id from fieldconfiguration );