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

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

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.

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.

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.

Suggest an answer

Log in or Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

2,958 views 12 18
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot