-
Bug
-
Resolution: Duplicate
-
Low
-
None
-
2.3.4, 2.3.5, 2.3.6, 2.4.1, 2.5-OD-02
NOTE: This bug report is for JIRA Service Desk Server. Using JIRA Service Desk Cloud? See the corresponding bug report.
When an issue's change history contains an entry with a deleted status ID, a 500 error is thrown when trying to access the portal.
Steps to reproduce:
- Create Service Desk
- Create new Status
- Add status (and transitions) to workflow
- Transition issue to and from this new status (ending with issue NOT in this status)
- Change the workflow to one that does not contain this status
- Delete original workflow
- Delete status
- Attempt to access customer portal using "Create a Service Desk Request" 500 error shows in portal:
2014-08-01 04:23:43,678 http-bio-8080-exec-17 ERROR egemme 263x572x1 19855nj 192.168.56.1 /servicedesk/customer/portals [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: null java.lang.NullPointerException at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestStatusMapper.translateToCustomerStatus(RequestStatusService.scala:85) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$7.apply(RequestActivityProvider.scala:141) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$7.apply(RequestActivityProvider.scala:135) at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144) at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.extractRelevantChanges(RequestActivityProvider.scala:135) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.com$atlassian$servicedesk$internal$feature$customer$request$RequestActivityProvider$$constructItemBuilder(RequestActivityProvider.scala:156) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$getStatusList$1.apply(RequestActivityProvider.scala:81) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$getStatusList$1.apply(RequestActivityProvider.scala:80) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.getStatusList(RequestActivityProvider.scala:80) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.getActivity(RequestActivityProvider.scala:128) at com.atlassian.servicedesk.internal.feature.customer.request.IssueViewProvider.getIssueListItemViewCommon(IssueViewProvider.scala:225) at com.atlassian.servicedesk.internal.feature.customer.request.IssueViewProvider.getIssueListItemView(IssueViewProvider.scala:216) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1$$anonfun$apply$19.apply(RequestListProvider.scala:403) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1$$anonfun$apply$19.apply(RequestListProvider.scala:396) at scala.Option.map(Option.scala:145) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1.apply(RequestListProvider.scala:396) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1.apply(RequestListProvider.scala:395) at scala.Option.flatMap(Option.scala:170) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper.toRequestListItemViewWithPortal(RequestListProvider.scala:395) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$$anonfun$10.apply(RequestListProvider.scala:193) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$$anonfun$10.apply(RequestListProvider.scala:193) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider.buildMultiPortalSearchResult(RequestListProvider.scala:193) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider.searchForMultiplePortalIssues(RequestListProvider.scala:187) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider.com$atlassian$servicedesk$internal$feature$customer$portal$providers$RecentRequestsResponseProvider$$getRecentRequests(RecentRequestsResponseProvider.scala:43) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider$$anonfun$getResponse$1.apply(RecentRequestsResponseProvider.scala:36) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider$$anonfun$getResponse$1.apply(RecentRequestsResponseProvider.scala:34) at scalaz.$bslash$div$class.map(Either.scala:94) at scalaz.$bslash$div$minus.map(Either.scala:283) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider.getResponse(RecentRequestsResponseProvider.scala:34) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse$1.apply(CustomerResponseFactory.scala:85) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse$1.apply(CustomerResponseFactory.scala:84) at scalaz.$bslash$div$class.flatMap(Either.scala:117) at scalaz.$bslash$div$minus.flatMap(Either.scala:283) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory.com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse(CustomerResponseFactory.scala:84) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$1.apply(CustomerResponseFactory.scala:41) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$1.apply(CustomerResponseFactory.scala:41) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory.createResponse(CustomerResponseFactory.scala:41) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPageParams(CustomerPageRenderer.scala:78) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPage(CustomerPageRenderer.scala:51) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPage(CustomerPageRenderer.scala:57) at com.atlassian.servicedesk.internal.rest.CustomerWeb$$anonfun$portalOfPortals$2.apply(CustomerWeb.scala:158) at com.atlassian.servicedesk.internal.rest.CustomerWeb$$anonfun$portalOfPortals$2.apply(CustomerWeb.scala:145) at scalaz.$bslash$div$class.fold(Either.scala:40) at scalaz.$bslash$div$minus.fold(Either.scala:283) at com.atlassian.servicedesk.internal.rest.CustomerWeb.portalOfPortals(CustomerWeb.scala:143) <+3> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) <+19> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (RightHandPathRule.java:147) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) <+1> (ServletContainer.java:795) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) <+16> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (ContextFilter.java:25) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.RedirectExternalCustomerToPortalFilter.doFilter(RedirectExternalCustomerToPortalFilter.scala:18) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCommonFilter.preventDoubleInvocation(PrettyUrlsCommonFilter.java:38) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:74) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:30) <+11> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:69) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+19> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:85) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+8> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:29) at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+10> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ApplicationDispatcher.java:748) (ApplicationDispatcher.java:486) (ApplicationDispatcher.java:411) (ApplicationDispatcher.java:338) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:55) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) <+21> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AccessLogFilter.java:107) (AccessLogFilter.java:91) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:90) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (CommittedResponseHtmlErrorRecoveryFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+22> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+6> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) <+10> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (GzipFilter.java:82) (GzipFilter.java:59) (JiraGzipFilter.java:56) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:23) at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+40> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:49) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (JiraFirstFilter.java:61) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122) (AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103) (StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408) (AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (JIoEndpoint.java:316) 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:745)
Workaround
The workaround involves creating the statuses in the JIRA Administration interface and then changing the status ID to be the ID of the deleted status. You only need to add the status and change the ID, the status does not need to be added to any workflows.
- Use the following query to obtain the ID and status name that is missing
SELECT DISTINCT newvalue,newstring FROM changeitem WHERE field ='status' AND newvalue NOT IN (SELECT id FROM issuestatus);
- If more than one status is returned, perform the following steps for each unique "newvalue"
- The string is the status name. if multiple strings appear for the same "newvalue" you should select whichever name suits you best. You only need to create one status for each unique "newvalue"
- If more than one status is returned, perform the following steps for each unique "newvalue"
- Create the status in the JIRA Administration page
- After creating the status, hover over the edit link for the new status to obtain the URL for this link. Copy down the ID that appears at the end of this URL.
- Shut down JIRA
- Update the issuestatus table so that the newly created status has the ID of the deleted status.
- Run the following query. Replace the first ID with the ID you obtained from the URL when you added the status. Replace the second ID with the missing status ID that you obtained in the first SQL query.
UPDATE issuestatus SET id='10200' WHERE id='10610';
- Run the following query. Replace the first ID with the ID you obtained from the URL when you added the status. Replace the second ID with the missing status ID that you obtained in the first SQL query.
- Start JIRA
- duplicates
-
JSDSERVER-1773 NPE while accessing Customer Portal when a status has been deleted from workflow
-
- Closed
-
-
DESK-4082 Failed to load
- is related to
-
JSDSERVER-99 Customer portal doesn't honor translated statuses of the issue
-
- Closed
-
- relates to
-
JSDCLOUD-1877 Deleted status causes 500 error NullPointerException in customer portal
-
- Closed
-
Form Name |
---|
[JSDSERVER-1877] Deleted status causes 500 error NullPointerException in customer portal
Workflow | Original: JSD Bug Workflow v5 - TEMP [ 2304827 ] | New: JAC Bug Workflow v3 [ 3125474 ] |
Status | Original: Done [ 10044 ] | New: Closed [ 6 ] |
Workflow | Original: JSD Bug Workflow v5 [ 2058743 ] | New: JSD Bug Workflow v5 - TEMP [ 2304827 ] |
Workflow | Original: JSD Bug Workflow v5 - TEMP [ 2056083 ] | New: JSD Bug Workflow v5 [ 2058743 ] |
Workflow | Original: JSD Bug Workflow v5 [ 1955515 ] | New: JSD Bug Workflow v5 - TEMP [ 2056083 ] |
Workflow | Original: JSD Bug Workflow v4 [ 1615286 ] | New: JSD Bug Workflow v5 [ 1955515 ] |
Description |
Original:
When an issue's change history contains an entry with a deleted status ID, a 500 error is thrown when trying to access the portal.
Steps to reproduce: * Create Service Desk * Create new Status * Add status (and transitions) to workflow * Transition issue to and from this new status (ending with issue NOT in this status) * Change the workflow to one that does not contain this status * Delete original workflow * Delete status * Attempt to access customer portal using "Create a Service Desk Request" 500 error shows in portal: {noformat} 2014-08-01 04:23:43,678 http-bio-8080-exec-17 ERROR egemme 263x572x1 19855nj 192.168.56.1 /servicedesk/customer/portals [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: null java.lang.NullPointerException at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestStatusMapper.translateToCustomerStatus(RequestStatusService.scala:85) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$7.apply(RequestActivityProvider.scala:141) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$7.apply(RequestActivityProvider.scala:135) at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144) at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.extractRelevantChanges(RequestActivityProvider.scala:135) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.com$atlassian$servicedesk$internal$feature$customer$request$RequestActivityProvider$$constructItemBuilder(RequestActivityProvider.scala:156) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$getStatusList$1.apply(RequestActivityProvider.scala:81) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$getStatusList$1.apply(RequestActivityProvider.scala:80) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.getStatusList(RequestActivityProvider.scala:80) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.getActivity(RequestActivityProvider.scala:128) at com.atlassian.servicedesk.internal.feature.customer.request.IssueViewProvider.getIssueListItemViewCommon(IssueViewProvider.scala:225) at com.atlassian.servicedesk.internal.feature.customer.request.IssueViewProvider.getIssueListItemView(IssueViewProvider.scala:216) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1$$anonfun$apply$19.apply(RequestListProvider.scala:403) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1$$anonfun$apply$19.apply(RequestListProvider.scala:396) at scala.Option.map(Option.scala:145) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1.apply(RequestListProvider.scala:396) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1.apply(RequestListProvider.scala:395) at scala.Option.flatMap(Option.scala:170) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper.toRequestListItemViewWithPortal(RequestListProvider.scala:395) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$$anonfun$10.apply(RequestListProvider.scala:193) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$$anonfun$10.apply(RequestListProvider.scala:193) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider.buildMultiPortalSearchResult(RequestListProvider.scala:193) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider.searchForMultiplePortalIssues(RequestListProvider.scala:187) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider.com$atlassian$servicedesk$internal$feature$customer$portal$providers$RecentRequestsResponseProvider$$getRecentRequests(RecentRequestsResponseProvider.scala:43) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider$$anonfun$getResponse$1.apply(RecentRequestsResponseProvider.scala:36) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider$$anonfun$getResponse$1.apply(RecentRequestsResponseProvider.scala:34) at scalaz.$bslash$div$class.map(Either.scala:94) at scalaz.$bslash$div$minus.map(Either.scala:283) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider.getResponse(RecentRequestsResponseProvider.scala:34) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse$1.apply(CustomerResponseFactory.scala:85) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse$1.apply(CustomerResponseFactory.scala:84) at scalaz.$bslash$div$class.flatMap(Either.scala:117) at scalaz.$bslash$div$minus.flatMap(Either.scala:283) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory.com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse(CustomerResponseFactory.scala:84) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$1.apply(CustomerResponseFactory.scala:41) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$1.apply(CustomerResponseFactory.scala:41) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory.createResponse(CustomerResponseFactory.scala:41) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPageParams(CustomerPageRenderer.scala:78) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPage(CustomerPageRenderer.scala:51) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPage(CustomerPageRenderer.scala:57) at com.atlassian.servicedesk.internal.rest.CustomerWeb$$anonfun$portalOfPortals$2.apply(CustomerWeb.scala:158) at com.atlassian.servicedesk.internal.rest.CustomerWeb$$anonfun$portalOfPortals$2.apply(CustomerWeb.scala:145) at scalaz.$bslash$div$class.fold(Either.scala:40) at scalaz.$bslash$div$minus.fold(Either.scala:283) at com.atlassian.servicedesk.internal.rest.CustomerWeb.portalOfPortals(CustomerWeb.scala:143) <+3> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) <+19> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (RightHandPathRule.java:147) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) <+1> (ServletContainer.java:795) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) <+16> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (ContextFilter.java:25) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.RedirectExternalCustomerToPortalFilter.doFilter(RedirectExternalCustomerToPortalFilter.scala:18) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCommonFilter.preventDoubleInvocation(PrettyUrlsCommonFilter.java:38) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:74) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:30) <+11> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:69) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+19> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:85) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+8> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:29) at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+10> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ApplicationDispatcher.java:748) (ApplicationDispatcher.java:486) (ApplicationDispatcher.java:411) (ApplicationDispatcher.java:338) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:55) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) <+21> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AccessLogFilter.java:107) (AccessLogFilter.java:91) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:90) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (CommittedResponseHtmlErrorRecoveryFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+22> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+6> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) <+10> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (GzipFilter.java:82) (GzipFilter.java:59) (JiraGzipFilter.java:56) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:23) at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+40> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:49) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (JiraFirstFilter.java:61) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122) (AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103) (StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408) (AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (JIoEndpoint.java:316) 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:745) {noformat} h3. Workaround The workaround involves creating the statuses in the JIRA Administration interface and then changing the status ID to be the ID of the deleted status. You only need to add the status and change the ID, the status does not need to be added to any workflows. # Use the following query to obtain the ID and status name that is missing {noformat} SELECT DISTINCT newvalue,newstring FROM changeitem WHERE field ='status' AND newvalue NOT IN (SELECT id FROM issuestatus); {noformat} ** If more than one status is returned, perform the following steps for each unique "newvalue" *** The string is the status name. if multiple strings appear for the same "newvalue" you should select whichever name suits you best. You only need to create one status for each unique "newvalue" # Create the status in the JIRA Administration page # After creating the status, hover over the edit link for the new status to obtain the URL for this link. Copy down the ID that appears at the end of this URL. # Shut down JIRA # Update the issuestatus table so that the newly created status has the ID of the deleted status. ** Run the following query. Replace the first ID with the ID you obtained from the URL when you added the status. Replace the second ID with the missing status ID that you obtained in the first SQL query. {noformat} UPDATE issuestatus SET id='10200' WHERE id='10610'; {noformat} # Start JIRA |
New:
{panel:bgColor=#e7f4fa} *NOTE:* This bug report is for *JIRA Service Desk Server*. Using *JIRA Service Desk Cloud*? [See the corresponding bug report|http://jira.atlassian.com/browse/JSDCLOUD-1877]. {panel} When an issue's change history contains an entry with a deleted status ID, a 500 error is thrown when trying to access the portal. Steps to reproduce: * Create Service Desk * Create new Status * Add status (and transitions) to workflow * Transition issue to and from this new status (ending with issue NOT in this status) * Change the workflow to one that does not contain this status * Delete original workflow * Delete status * Attempt to access customer portal using "Create a Service Desk Request" 500 error shows in portal: {noformat} 2014-08-01 04:23:43,678 http-bio-8080-exec-17 ERROR egemme 263x572x1 19855nj 192.168.56.1 /servicedesk/customer/portals [common.error.jersey.ThrowableExceptionMapper] Uncaught exception thrown by REST service: null java.lang.NullPointerException at com.atlassian.servicedesk.internal.feature.customer.request.requesttype.RequestStatusMapper.translateToCustomerStatus(RequestStatusService.scala:85) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$7.apply(RequestActivityProvider.scala:141) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$7.apply(RequestActivityProvider.scala:135) at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) at scala.collection.TraversableOnce$$anonfun$foldLeft$1.apply(TraversableOnce.scala:144) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableOnce$class.foldLeft(TraversableOnce.scala:144) at scala.collection.AbstractTraversable.foldLeft(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.extractRelevantChanges(RequestActivityProvider.scala:135) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.com$atlassian$servicedesk$internal$feature$customer$request$RequestActivityProvider$$constructItemBuilder(RequestActivityProvider.scala:156) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$getStatusList$1.apply(RequestActivityProvider.scala:81) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider$$anonfun$getStatusList$1.apply(RequestActivityProvider.scala:80) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.getStatusList(RequestActivityProvider.scala:80) at com.atlassian.servicedesk.internal.feature.customer.request.RequestActivityProvider.getActivity(RequestActivityProvider.scala:128) at com.atlassian.servicedesk.internal.feature.customer.request.IssueViewProvider.getIssueListItemViewCommon(IssueViewProvider.scala:225) at com.atlassian.servicedesk.internal.feature.customer.request.IssueViewProvider.getIssueListItemView(IssueViewProvider.scala:216) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1$$anonfun$apply$19.apply(RequestListProvider.scala:403) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1$$anonfun$apply$19.apply(RequestListProvider.scala:396) at scala.Option.map(Option.scala:145) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1.apply(RequestListProvider.scala:396) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper$$anonfun$toRequestListItemViewWithPortal$1.apply(RequestListProvider.scala:395) at scala.Option.flatMap(Option.scala:170) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$IssueToRequestListItemViewMapper.toRequestListItemViewWithPortal(RequestListProvider.scala:395) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$$anonfun$10.apply(RequestListProvider.scala:193) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider$$anonfun$10.apply(RequestListProvider.scala:193) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider.buildMultiPortalSearchResult(RequestListProvider.scala:193) at com.atlassian.servicedesk.internal.feature.customer.request.RequestListProvider.searchForMultiplePortalIssues(RequestListProvider.scala:187) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider.com$atlassian$servicedesk$internal$feature$customer$portal$providers$RecentRequestsResponseProvider$$getRecentRequests(RecentRequestsResponseProvider.scala:43) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider$$anonfun$getResponse$1.apply(RecentRequestsResponseProvider.scala:36) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider$$anonfun$getResponse$1.apply(RecentRequestsResponseProvider.scala:34) at scalaz.$bslash$div$class.map(Either.scala:94) at scalaz.$bslash$div$minus.map(Either.scala:283) at com.atlassian.servicedesk.internal.feature.customer.portal.providers.RecentRequestsResponseProvider.getResponse(RecentRequestsResponseProvider.scala:34) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse$1.apply(CustomerResponseFactory.scala:85) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse$1.apply(CustomerResponseFactory.scala:84) at scalaz.$bslash$div$class.flatMap(Either.scala:117) at scalaz.$bslash$div$minus.flatMap(Either.scala:283) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory.com$atlassian$servicedesk$internal$rest$CustomerResponseFactory$$getResponse(CustomerResponseFactory.scala:84) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$1.apply(CustomerResponseFactory.scala:41) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory$$anonfun$1.apply(CustomerResponseFactory.scala:41) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.Iterator$class.foreach(Iterator.scala:727) at scala.collection.AbstractIterator.foreach(Iterator.scala:1157) at scala.collection.IterableLike$class.foreach(IterableLike.scala:72) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at com.atlassian.servicedesk.internal.rest.CustomerResponseFactory.createResponse(CustomerResponseFactory.scala:41) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPageParams(CustomerPageRenderer.scala:78) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPage(CustomerPageRenderer.scala:51) at com.atlassian.servicedesk.internal.web.CustomerPageRenderer.createPage(CustomerPageRenderer.scala:57) at com.atlassian.servicedesk.internal.rest.CustomerWeb$$anonfun$portalOfPortals$2.apply(CustomerWeb.scala:158) at com.atlassian.servicedesk.internal.rest.CustomerWeb$$anonfun$portalOfPortals$2.apply(CustomerWeb.scala:145) at scalaz.$bslash$div$class.fold(Either.scala:40) at scalaz.$bslash$div$minus.fold(Either.scala:283) at com.atlassian.servicedesk.internal.rest.CustomerWeb.portalOfPortals(CustomerWeb.scala:143) <+3> (NativeMethodAccessorImpl.java:62) (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) <+19> (DispatchProviderHelper.java:234) (DispatchProviderHelper.java:100) (DefaultMethodInvocation.java:61) (ExpandInterceptor.java:38) (DefaultMethodInvocation.java:61) (DispatchProviderHelper.java:132) (DispatchProviderHelper.java:230) (ResourceJavaMethodDispatcher.java:75) (HttpMethodRule.java:288) (RightHandPathRule.java:147) (ResourceClassRule.java:108) (RightHandPathRule.java:147) (RootResourceClassesRule.java:84) (WebApplicationImpl.java:1469) (WebApplicationImpl.java:1400) (WebApplicationImpl.java:1349) (WebApplicationImpl.java:1339) (WebComponent.java:416) (ServletContainer.java:537) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178) <+1> (ServletContainer.java:795) at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73) <+16> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (RestServletUtilsUpdaterFilter.java:26) (RestServletUtilsUpdaterFilter.java:40) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) (ContextFilter.java:25) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.RedirectExternalCustomerToPortalFilter.doFilter(RedirectExternalCustomerToPortalFilter.scala:18) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:36) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:60) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCommonFilter.preventDoubleInvocation(PrettyUrlsCommonFilter.java:38) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:74) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:30) <+11> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:69) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+19> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:85) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+8> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:29) at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+10> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ApplicationDispatcher.java:748) (ApplicationDispatcher.java:486) (ApplicationDispatcher.java:411) (ApplicationDispatcher.java:338) at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:55) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:92) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:56) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36) <+21> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AccessLogFilter.java:107) (AccessLogFilter.java:91) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (XsrfTokenAdditionRequestFilter.java:54) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (PageBuilderFilter.java:90) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (CommittedResponseHtmlErrorRecoveryFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+22> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (SecurityFilter.java:239) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (TrustedApplicationsFilter.java:100) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (BaseLoginFilter.java:172) (JiraLoginFilter.java:70) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) (OAuthFilter.java:79) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+6> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) <+10> (UrlRewriteFilter.java:394) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (GzipFilter.java:82) (GzipFilter.java:59) (JiraGzipFilter.java:56) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (IteratingFilterChain.java:46) (DelegatingPluginFilter.java:70) at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:40) at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32) <+3> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply$mcV$sp(PortalContextSetter.scala:12) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.web.PortalContextSetter$$anonfun$doFilter$1.apply(PortalContextSetter.scala:11) at com.atlassian.servicedesk.internal.utils.context.PortalContextUtil$.inPortalContext(PortalContextUtil.scala:23) at com.atlassian.servicedesk.internal.web.PortalContextSetter.doFilter(PortalContextSetter.scala:11) <+4> (AbstractHttpFilter.java:31) (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (DelegatingPluginFilter.java:70) at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:61) <+40> (DelegatingPluginFilter.java:78) (IteratingFilterChain.java:42) (ServletFilterModuleContainerFilter.java:77) (ServletFilterModuleContainerFilter.java:63) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractCachingFilter.java:33) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (AbstractEncodingFilter.java:41) (AbstractHttpFilter.java:31) (PathMatchingEncodingFilter.java:49) (AbstractHttpFilter.java:31) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (JiraStartupChecklistFilter.java:79) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (MultipartBoundaryCheckFilter.java:41) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (ChainedFilterStepRunner.java:87) (JiraFirstFilter.java:61) (ApplicationFilterChain.java:241) (ApplicationFilterChain.java:208) (StandardWrapperValve.java:220) (StandardContextValve.java:122) (AuthenticatorBase.java:501) (StandardHostValve.java:171) (ErrorReportValve.java:103) (StandardEngineValve.java:116) (AccessLogValve.java:950) (CoyoteAdapter.java:408) (AbstractHttp11Processor.java:1070) (AbstractProtocol.java:611) (JIoEndpoint.java:316) 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:745) {noformat} h3. Workaround The workaround involves creating the statuses in the JIRA Administration interface and then changing the status ID to be the ID of the deleted status. You only need to add the status and change the ID, the status does not need to be added to any workflows. # Use the following query to obtain the ID and status name that is missing {noformat} SELECT DISTINCT newvalue,newstring FROM changeitem WHERE field ='status' AND newvalue NOT IN (SELECT id FROM issuestatus); {noformat} ** If more than one status is returned, perform the following steps for each unique "newvalue" *** The string is the status name. if multiple strings appear for the same "newvalue" you should select whichever name suits you best. You only need to create one status for each unique "newvalue" # Create the status in the JIRA Administration page # After creating the status, hover over the edit link for the new status to obtain the URL for this link. Copy down the ID that appears at the end of this URL. # Shut down JIRA # Update the issuestatus table so that the newly created status has the ID of the deleted status. ** Run the following query. Replace the first ID with the ID you obtained from the URL when you added the status. Replace the second ID with the missing status ID that you obtained in the first SQL query. {noformat} UPDATE issuestatus SET id='10200' WHERE id='10610'; {noformat} # Start JIRA |
Link |
New:
This issue relates to |
Labels | New: affects-cloud affects-server |
Workflow | Original: JSD Bug Workflow v2 [ 1602610 ] | New: JSD Bug Workflow v4 [ 1615286 ] |
this bug is still present in Jira SM v.8.15.0
workaround: