Accessing moved issue through original issue key or attempting to move issues in Jira Data Center fails

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Problem

When attempting to access a moved issue by its original Issue Key, as well as triggering the Move function on Jira, the following stack trace is displayed on the interface:

1 2 3 4 5 6 7 8 9 10 11 12 Sorry, we had some technical problems during your last operation. Request assistance Copy the content below and send it to your JIRA Administrator Technical details Log's referral number: ec54d7fe-ed3d-47da-980e-c00af4dda984 Cause Referer URL: https://yourjirainstance.com/issues/?jql=issuekey%20%3DPROJKEY-865\\ java.lang.ClassFormatError: com/atlassian/jira/issue/MovedIssueKey java.lang.ClassFormatError: com/atlassian/jira/issue/MovedIssueKey at com.atlassian.jira.entity.MovedIssueKeyFactory.build(MovedIssueKeyFactory.java:20) [classes/:?]

Looking over at the atlassian-jira.log, we can see the following stack trace:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 2018-09-04 15:18:33,607 http-nio-8080-exec-661 url:/secure/GHGoToBoard.jspa username:jirauser ERROR [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [Filter execution threw an exception] with root cause java.lang.ClassFormatError: com/atlassian/jira/issue/MovedIssueKey at com.atlassian.jira.entity.MovedIssueKeyFactory.build(MovedIssueKeyFactory.java:20) at com.atlassian.jira.entity.MovedIssueKeyFactory.build(MovedIssueKeyFactory.java:12) at com.atlassian.jira.entity.SelectQueryImpl$ExecutionContextImpl.forEach(SelectQueryImpl.java:231) at com.atlassian.jira.entity.SelectQueryImpl$ExecutionContextImpl.consumeWith(SelectQueryImpl.java:214) at com.atlassian.jira.entity.SelectQueryImpl$ExecutionContextImpl.singleValue(SelectQueryImpl.java:191) at com.atlassian.jira.issue.util.MovedIssueKeyStoreImpl.getMovedIssueId(MovedIssueKeyStoreImpl.java:43) at com.atlassian.jira.issue.managers.DefaultIssueManager.findMovedIssue(DefaultIssueManager.java:283) at com.atlassian.jira.issue.managers.DefaultIssueManager$IssueFinder.getIssue(DefaultIssueManager.java:961) at com.atlassian.jira.issue.managers.DefaultIssueManager.getIssueByKeyIgnoreCase(DefaultIssueManager.java:354) at com.atlassian.jira.issue.managers.RequestCachingIssueManager.getIssueByKeyIgnoreCase(RequestCachingIssueManager.java:91) at com.atlassian.jira.jql.util.JqlIssueSupportImpl.getIssue(JqlIssueSupportImpl.java:70) at com.atlassian.jira.jql.util.JqlIssueSupportImpl.getIssue(JqlIssueSupportImpl.java:62) at com.atlassian.jira.jql.query.IssueIdClauseQueryFactory.createQueryForKey(IssueIdClauseQueryFactory.java:163) at com.atlassian.jira.jql.query.IssueIdClauseQueryFactory.createQueryForNotEmptyValue(IssueIdClauseQueryFactory.java:156) at com.atlassian.jira.jql.query.IssueIdClauseQueryFactory.createQuery(IssueIdClauseQueryFactory.java:148) at com.atlassian.jira.jql.query.IssueIdClauseQueryFactory.createPositiveEqualsQuery(IssueIdClauseQueryFactory.java:134) at com.atlassian.jira.jql.query.IssueIdClauseQueryFactory.handleEquals(IssueIdClauseQueryFactory.java:129) at com.atlassian.jira.jql.query.IssueIdClauseQueryFactory.getQuery(IssueIdClauseQueryFactory.java:68) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:97) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25) at com.atlassian.query.clause.TerminalClauseImpl.accept(TerminalClauseImpl.java:143) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:71) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25) at com.atlassian.query.clause.OrClause.accept(OrClause.java:28) at com.atlassian.jira.jql.query.QueryVisitor.createQuery(QueryVisitor.java:51) at com.atlassian.jira.jql.query.DefaultLuceneQueryBuilder.createLuceneQuery(DefaultLuceneQueryBuilder.java:29) at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.search(LuceneSearchProvider.java:231) at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.searchOverrideSecurity(LuceneSearchProvider.java:135) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy493.searchOverrideSecurity(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136) at com.sun.proxy.$Proxy493.searchOverrideSecurity(Unknown Source) at com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findImpl(IssueDataServiceImpl.java:150) at com.atlassian.greenhopper.service.issue.IssueDataServiceImpl.findOverrideSecurity(IssueDataServiceImpl.java:78) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkResolver.findEpicIssueIdsByEpicKeyOrLabel(EpicLinkResolver.java:103) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkResolver.getQuery(EpicLinkResolver.java:58) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkEqualityQueryFactory.getQuery(EpicLinkEqualityQueryFactory.java:200) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkEqualityQueryFactory.handleIn(EpicLinkEqualityQueryFactory.java:146) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkEqualityQueryFactory.createResult(EpicLinkEqualityQueryFactory.java:102) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkEqualityQueryFactory.createQueryForMultipleValues(EpicLinkEqualityQueryFactory.java:60) at com.atlassian.greenhopper.customfield.searcher.GhGenericClauseQueryFactory.getQuery(GhGenericClauseQueryFactory.java:68) at com.atlassian.greenhopper.customfield.epiclink.EpicLinkClauseQueryFactory.getQuery(EpicLinkClauseQueryFactory.java:31) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:97) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25) at com.atlassian.query.clause.TerminalClauseImpl.accept(TerminalClauseImpl.java:143) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:71) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25) at com.atlassian.query.clause.OrClause.accept(OrClause.java:28) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:55) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25) at com.atlassian.query.clause.AndClause.accept(AndClause.java:28) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:55) at com.atlassian.jira.jql.query.ContextAwareQueryVisitor.visit(ContextAwareQueryVisitor.java:25) at com.atlassian.query.clause.AndClause.accept(AndClause.java:28) at com.atlassian.jira.jql.query.QueryVisitor.createQuery(QueryVisitor.java:51) at com.atlassian.jira.jql.query.DefaultLuceneQueryBuilder.createLuceneQuery(DefaultLuceneQueryBuilder.java:29) at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.createLuceneQuery(LuceneSearchProvider.java:272) at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.getHitCount(LuceneSearchProvider.java:177) at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.searchCountOverrideSecurity(LuceneSearchProvider.java:121) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy493.searchCountOverrideSecurity(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:136) at com.sun.proxy.$Proxy493.searchCountOverrideSecurity(Unknown Source) at com.atlassian.greenhopper.service.issue.SearchServiceImpl.searchCountOverrideSecurity(SearchServiceImpl.java:166) at com.atlassian.greenhopper.service.rapid.RapidViewLocationServiceImpl.doesSprintMatchQuery(RapidViewLocationServiceImpl.java:366) at com.atlassian.greenhopper.service.rapid.RapidViewLocationServiceImpl.getRapidViewsForSprint(RapidViewLocationServiceImpl.java:231) at com.atlassian.greenhopper.web.rapid.RapidViewLocationResolverFactory$SprintRapidViewLocationResolver.getRapidViewsForObject(RapidViewLocationResolverFactory.java:203) at com.atlassian.greenhopper.web.rapid.RapidViewLocationResolverFactory$SprintRapidViewLocationResolver.getRapidViewsForObject(RapidViewLocationResolverFactory.java:185) at com.atlassian.greenhopper.web.rapid.BoardDispatchAction._doGoToBoard(BoardDispatchAction.java:116) at com.atlassian.greenhopper.web.rapid.BoardDispatchAction.doGoToBoard(BoardDispatchAction.java:61) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70) at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56) ... 2 filtered at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63) ... 7 filtered at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) ... 52 filtered at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:56) ... 4 filtered at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:62) ... 7 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 47 filtered at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.runWithChangedThreadName(AbstractThreadFilter.java:71) at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:53) at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:37) ... 14 filtered at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:80) ... 1 filtered at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:78) ... 36 filtered at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30) ... 5 filtered at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:181) at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:134) at com.atlassian.servicedesk.internal.utils.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:87) at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:64) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:174) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:130) at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:121) ... 4 filtered at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:32) ... 8 filtered at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21) ... 4 filtered at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.runWithChangedThreadName(AbstractThreadFilter.java:71) at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:53) at com.atlassian.ams.shipit.servlet.filter.AbstractThreadFilter.doFilter(AbstractThreadFilter.java:37) ... 3 filtered at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36) ... 29 filtered at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25) ... 28 filtered at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748

Diagnosis

Environment

  • JIRA Data Center

In this case, we've also noticed the following, which might be one of the reasons for the cache failure:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2018-08-29 11:11:21,958 ehcache-replicator-19 ERROR [c.a.j.c.cache.ehcache.BlockingParallelCacheReplicator] Exception on replication of remove. Exception creating connection to: 100.99.16.212; nested exception is: java.net.SocketException: Too many open files. Cache: com.atlassian.jira.crowd.embedded.ofbiz.OfBizUserDao.userAttributesCache Peer: com.atlassian.jira.crowd.embedded.ofbiz.OfBizUserDao.userAttributesCache java.rmi.ConnectIOException: Exception creating connection to: 100.99.16.212; nested exception is: java.net.SocketException: Too many open files at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:631) at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:216) at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:202) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:130) at net.sf.ehcache.distribution.RMICachePeer_Stub.remove(Unknown Source) at com.atlassian.jira.cluster.cache.ehcache.BlockingParallelCacheReplicator.lambda$replicateRemovalNotification$1(BlockingParallelCacheReplicator.java:163) at com.atlassian.jira.cluster.cache.ehcache.BlockingParallelCacheReplicator.lambda$null$3(BlockingParallelCacheReplicator.java:203) at com.atlassian.jira.cluster.cache.ehcache.ClassLoaderSwitchingRunnable.run(ClassLoaderSwitchingRunnable.java:18) at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1626) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: java.net.SocketException: Too many open files

Cause

This is caused by a cache replication failure. The node is not replicating the cache correctly, thus causing the issues to not be found and the move operation to fail.

Solution

Workaround / Resolution

  • Restart the node with the broken replication. This will ensure that the cache will be replicated from a healthy node and the operations will be fixed.

Updated on April 2, 2025

Still need help?

The Atlassian Community is here for you.