500 error due to corrupted field configuration scheme entries
症状
This error may be encountered during a variety of scenarios such as:
- After issue creation.
- After logging in.
- When accessing a field configuration scheme.
The following stack trace appears in the 500 error page:
Technical details
Log's referral number: 3026196e-74f2-43ee-8f9a-f9cf3c66460d
Cause
Referer URL: http://localhost:8080/secure/CreateIssue.jspa
com.atlassian.cache.CacheException: java.lang.NullPointerException
com.atlassian.cache.CacheException: java.lang.NullPointerException
at com.atlassian.cache.memory.DelegatingCache.get(DelegatingCache.java:67)
at com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.getFieldConfigScheme(CachedFieldConfigSchemePersister.java:89)
at com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl.getValue(FieldConfigSchemeManagerImpl.java:72)
at com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl.getValue(FieldConfigSchemeManagerImpl.java:63)
at com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl.getRelevantConfigScheme(FieldConfigSchemeManagerImpl.java:322)
at com.atlassian.jira.issue.fields.config.manager.FieldConfigSchemeManagerImpl.getRelevantConfig(FieldConfigSchemeManagerImpl.java:292)
at com.atlassian.jira.issue.fields.CustomFieldImpl.getRelevantConfig(CustomFieldImpl.java:649)
at com.atlassian.jira.issue.fields.CustomFieldImpl.isInScope(CustomFieldImpl.java:312)
原因
The problem occurs when the global context does not have a field configuration ID that matches a custom field configuration schemes. It is not yet known what causes this situation.
You can verify that you have this problem by running this SQL command:
SELECT *
FROM configurationcontext
WHERE fieldconfigscheme NOT IN (SELECT ID
FROM fieldconfigscheme);
ソリューション
データベースの変更を行う場合は必ず事前にバックアップを取得してください。可能な場合は、まずステージング サーバーで SQL コマンドの変更、挿入、更新、または削除を行うようにします。
1. Create a backup copy of your JIRA database and your JIRA Home directory.
2. Shutdown JIRA.
3. Verify that you have this problem using the SQL command above. If you find any orphaned field configuration contexts you can delete them with the following query:
DELETE
FROM configurationcontext
WHERE fieldconfigscheme NOT IN (SELECT ID
FROM fieldconfigscheme);
4. Start JIRA and perform a full full re-index.