Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-15153

Deleting a Customer Request Type that is rendered in the Issue Statistics gadget causes the gadget to fail to render

    XMLWordPrintable

Details

    Description

      Issue Summary

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Have an ITSM project with multiple Customer Request Types and tickets assigned to multiple request types. 
      2. Add the Issue Statistics gadget to a dashboard. 
      3. Select Customer Request Type as the statistic type.
      4. Delete a customer request type that contains tickets that are shown in the Issue Statistics gadget.
      5. Wait for the gadget to refresh. 

      Expected Results

      The tickets in the deleted Customer Request Type will either not be shown or will still show.

      Actual Results

      The entire gadget fails to render. 

      The below exception is thrown in the atlassian-jira.log file:

      java.lang.NullPointerException
      at com.atlassian.servicedesk.internal.customfields.origin.VpOriginStatisticsMapper.getSearchValue(VpOriginStatisticsMapper.java:83)
      at com.atlassian.servicedesk.internal.customfields.origin.VpOriginStatisticsMapper.getSearchUrlSuffix(VpOriginStatisticsMapper.java:64)
      at com.atlassian.servicedesk.internal.customfields.origin.VpOriginStatisticsMapper.getSearchUrlSuffix(VpOriginStatisticsMapper.java:19)
      at com.atlassian.jira.gadgets.system.DefaultStatsSearchUrlBuilder.getSearchUrlForHeaderCell(DefaultStatsSearchUrlBuilder.java:23)
      at com.atlassian.jira.gadgets.system.StatsResource.getSearchUrlForHeaderCell(StatsResource.java:231)
      at com.atlassian.jira.gadgets.system.StatsResource.getData(StatsResource.java:155)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      ... 19 filtered
      at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:171)
      ... 1 filtered
      at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:75)
      ... 32 filtered
      at com.atlassian.servicedesk.internal.web.ExternalCustomerLockoutFilter.doFilter(ExternalCustomerLockoutFilter.java:55)
      ... 8 filtered
      at com.atlassian.jira.plugin.mobile.web.filter.MobileAppRequestFilter.doFilter(MobileAppRequestFilter.java:59)
      ... 4 filtered
      at com.atlassian.jira.plugin.mobile.login.MobileLoginSuccessFilter.doFilter(MobileLoginSuccessFilter.java:54)
      ... 3 filtered
      at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:54)
      ... 8 filtered
      at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      ... 43 filtered
      at com.resolution.atlasplugins.samlsso.servlet.RedirectToSsoFilter.doFilter(RedirectToSsoFilter.java:53)
      ... 3 filtered
      at com.atlassian.oauth2.scopes.web.ReadWriteScopeFilter.doFilter(ReadWriteScopeFilter.java:46)
      ... 3 filtered
      at com.atlassian.plugins.slack.analytics.SlackAnalyticsFilter.doFilter(SlackAnalyticsFilter.java:35)
      ... 3 filtered
      at com.atlassian.ratelimiting.internal.filter.RateLimitFilter.doFilter(RateLimitFilter.java:73)
      ... 3 filtered
      at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
      ... 21 filtered
      at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:66)
      ... 1 filtered
      at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:64)
      ... 16 filtered
      at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:38)
      ... 3 filtered
      at com.atlassian.pats.web.filter.TokenBasedAuthenticationFilter.doFilter(TokenBasedAuthenticationFilter.java:82)
      ... 3 filtered
      at com.atlassian.oauth2.provider.core.web.AccessTokenFilter.doFilter(AccessTokenFilter.java:82)
      ... 19 filtered
      at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      ... 5 filtered
      at com.resolution.atlasplugins.samlsso.servlet.SetSameSiteCookieAttributeToNoneAttributeFilter.doFilter(SetSameSiteCookieAttributeToNoneAttributeFilter.java:51)
      ... 3 filtered
      at com.atlassian.plugins.authentication.impl.basicauth.filter.DisableBasicAuthFilter.doFilter(DisableBasicAuthFilter.java:70)
      ... 3 filtered
      at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.lambda$invokeFilterChain$0(CustomerContextSettingFilter.java:221)
      at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.rteInvoke(ReentrantThreadLocalBasedCodeContext.java:136)
      at com.atlassian.servicedesk.internal.api.util.context.ReentrantThreadLocalBasedCodeContext.runOutOfContext(ReentrantThreadLocalBasedCodeContext.java:89)
      at com.atlassian.servicedesk.internal.utils.context.CustomerContextServiceImpl.runOutOfCustomerContext(CustomerContextServiceImpl.java:47)
      at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.outOfCustomerContext(CustomerContextSettingFilter.java:212)
      at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilterImpl(CustomerContextSettingFilter.java:140)
      at com.atlassian.servicedesk.internal.web.CustomerContextSettingFilter.doFilter(CustomerContextSettingFilter.java:129)
      ... 4 filtered
      at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
      ... 8 filtered
      at com.atlassian.ratelimiting.internal.filter.RateLimitPreAuthFilter.doFilter(RateLimitPreAuthFilter.java:71)
      ... 3 filtered
      at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      ... 4 filtered
      at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
      ... 3 filtered
      at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
      ... 26 filtered
      at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
      ... 24 filtered
      at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
      at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.base/java.lang.Thread.run(Thread.java:829) 

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

      Attachments

        Issue Links

          Activity

            People

              c8bcca445054 Benjamin Suess
              samann Sarah A
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync