[JIRA/CustomFields] refresh customfields cache

Higashi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 13, 2012

How-to: refresh/clear Custom Fields cache after plugin is installed, as does link: https://jira.atlassian.com/secure/admin/ViewCustomFields!reset.jspa ?

Problem: My company had written plugin that modifies custom fields. After the plugin is installed the following stack traces can be seen in log files:

2012-08-27 15:31:33,853 TP-Processor1764 ERROR ppiechot 931x7695524x1 1o01pc2 91.193.146.199 /secure/AddComment.jspa event.listeners.search.IssueIndexListener Error re-indexing changes for issue 'ONAIRSUP-1830'

org.springframework.osgi.service.importer.ServiceProxyDestroyedException: service proxy has been destroyed

at org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor$ServiceLookUpCallback.doWithRetry(ServiceDynamicInterceptor.java:105)

at org.springframework.osgi.service.importer.support.internal.support.RetryTemplate.execute(RetryTemplate.java:83)

at org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.lookupService(ServiceDynamicInterceptor.java:430)

at org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.getTarget(ServiceDynamicInterceptor.java:415)

at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)

at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)

at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)

at $Proxy1045.createSettingsForKey(Unknown Source)

at my.company.plugin.impl.DefaultPluginManager.getPluginSettings(DefaultPluginManager.java:245)

This occurs on every action on any issue, before reindex-ation take place. As a result no changes in issues can be seen, seek etc. as this feature is based on search engine. Refreshing Custom Fields cache (or jira restart) fix this issue.

2 answers

1 accepted

0 votes
Answer accepted
Higashi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 16, 2013

The problem is that it is this line 3:

private PluginSettings getPluginSettings ( Long projectId ) {
        String projectKey = projectManager.getProjectObj(projectId).getKey();
        return pluginSettingsFactory.createSettingsForKey(projectKey);
    }

and PluginSettingsFactory is public interface com.atlassian.sal.api.pluginsettings.PluginSettingsFactory

0 votes
Andrey
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 8, 2013

my.company.plugin.impl.DefaultPluginManager.getPluginSettings(DefaultPluginManager.java:245)

Look at this class. Thats's all because of installed plugin.

Suggest an answer

Log in or Sign up to answer