"Issue Alternative Assignee" plugin throwing CacheException after upgrading to JIRA 6.3.1

Go Hayama July 22, 2014

Hello,

When upgrading our JIRA staging environment from version 6.3-m06-1 to 6.3.1, our Issue Alternative Assignee plugin started throwing a CacheException error (see stack trace below).

Specifically, every gadget on the dashboard which retrieves/displays issue information displays a red "An internal server error occured when requesting resource" error, and if we try to access the issue navigator or create an issue, a 500 error screen is displayed with the error/stack trace below. The same error also appears many times in the application log.

We have confirmed that if we disable the "Issue Alternative Assignee" plugin, all errors disappear and everything works fine. Re-enable the plugin, and all the errors return, so we're certain it's this plugin which is throwing the error.

Things we have tried:

  • Updating "Issue Alternative Assignee" to the latest version (1.7.6)
  • Deleting the plugin cache
  • Re-indexing JIRA

We are currently running on clustered JIRA Data Center, but the odd thing is that this plugin has been working fine on all of the JIRA 6.3 EAP versions we've been running up until now, and is currently running fine in production on JIRA 6.3-m06-1 (clustered). It's only from 6.3.1 that we see this error appear.

We do understand that Jamie no longer advises using this plugin and we plan to follow Jamie's advice to replace this plugin's functionality with other methods, but it's not something we can do immediately, and we have a production upgrade planned for later this week which we're going to have to cancel/postpone if we can't get this problem fixed in staging.

If there is anyone who could shed any light on this for us it would be greatly appreciated!

Many thanks,

Peter

The full error/stack trace is as follows:

Technical details

Log's referral number: de13f3ad-be65-4693-bd5d-59c51ff1acd2
Cause

Referer URL: https://*****/jira/secure/Dashboard.jspa

com.atlassian.cache.CacheException: com.atlassian.cache.CacheException: com.atlassian.util.concurrent.LazyReference$InitializationException: com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.iamhuy.jira.plugin.customfields.UserPickerProjectRole': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.iamhuy.jira.plugin.customfields.UserPickerProjectRole]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: com.atlassian.jira.issue.customfields.impl.UserCFType.<init>(Lcom/atlassian/jira/issue/customfields/persistence/CustomFieldValuePersister;Lcom/atlassian/jira/issue/customfields/converters/UserConverter;Lcom/atlassian/jira/issue/customfields/manager/GenericConfigManager;Lcom/atlassian/jira/config/properties/ApplicationProperties;Lcom/atlassian/jira/security/JiraAuthenticationContext;Lcom/atlassian/jira/issue/fields/config/manager/FieldConfigSchemeManager;Lcom/atlassian/jira/project/ProjectManager;Lcom/atlassian/jira/template/soy/SoyTemplateRendererProvider;Lcom/atlassian/jira/security/groups/GroupManager;Lcom/atlassian/jira/security/roles/ProjectRoleManager;Lcom/atlassian/jira/bc/user/search/UserPickerSearchService;Lcom/atlassian/jira/issue/fields/rest/json/beans/JiraBaseUrls;Lcom/atlassian/jira/user/UserHistoryManager;Lcom/atlassian/jira/user/UserFilterManager;Lcom/atlassian/jira/bc/user/search/UserPickerSearchService;Lcom/atlassian/jira/util/I18nHelper;)V

    com.atlassian.cache.CacheException: com.atlassian.cache.CacheException: com.atlassian.util.concurrent.LazyReference$InitializationException: com.atlassian.util.concurrent.LazyReference$InitializationException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.iamhuy.jira.plugin.customfields.UserPickerProjectRole': Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [com.iamhuy.jira.plugin.customfields.UserPickerProjectRole]: Constructor threw exception; nested exception is java.lang.NoSuchMethodError: com.atlassian.jira.issue.customfields.impl.UserCFType.<init>(Lcom/atlassian/jira/issue/customfields/persistence/CustomFieldValuePersister;Lcom/atlassian/jira/issue/customfields/converters/UserConverter;Lcom/atlassian/jira/issue/customfields/manager/GenericConfigManager;Lcom/atlassian/jira/config/properties/ApplicationProperties;Lcom/atlassian/jira/security/JiraAuthenticationContext;Lcom/atlassian/jira/issue/fields/config/manager/FieldConfigSchemeManager;Lcom/atlassian/jira/project/ProjectManager;Lcom/atlassian/jira/template/soy/SoyTemplateRendererProvider;Lcom/atlassian/jira/security/groups/GroupManager;Lcom/atlassian/jira/security/roles/ProjectRoleManager;Lcom/atlassian/jira/bc/user/search/UserPickerSearchService;Lcom/atlassian/jira/issue/fields/rest/json/beans/JiraBaseUrls;Lcom/atlassian/jira/user/UserHistoryManager;Lcom/atlassian/jira/user/UserFilterManager;Lcom/atlassian/jira/bc/user/search/UserPickerSearchService;Lcom/atlassian/jira/util/I18nHelper;)V
    	at com.atlassian.cache.ehcache.DelegatingCachedReference.get(DelegatingCachedReference.java:64)
    	at com.atlassian.jira.issue.search.managers.DefaultSearchHandlerManager.getHelper(DefaultSearchHandlerManager.java:254)

2 answers

0 votes
rmk July 23, 2014

Jamie,

Our developers have taken a look and come to this conclusion:

We have changed the signature of the constructor of this internal (non-api) JIRA class. The plugin will need to be modified to support this.

As this class is not part of the published API, plugins that use it in this way are vulnerable to this sort of change at any time.

JamieA
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.
July 23, 2014

I'm aware it's not @PublicApi but I didn't actually write this plugin, I'm just maintaining it as a FREE SERVICE out of the goodness of my heart. I don't even use the plugin.

If Atlassian are so bothered about supporting customers that use this plugin maybe they should maintain it. After all it's not a big job.

0 votes
Peter Boudreau July 22, 2014

Incidentally, we tried disabling all add-ons (safe mode), and only enabling the Issue Alternative Assignee plugin (thinking that maybe the plugin was conflicting with another plugin), but the problem above still existed with only the Issue Alternative Assignee plugin enabled, so it doesn't appear to be a conflict with another plugin.

Suggest an answer

Log in or Sign up to answer