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.
Was this helpful?