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

Disabling Insight disables many other plugins and triggers internal cache flushes

    XMLWordPrintable

Details

    Description

      Issue Summary

      Disabling Insight disables many other plugins and triggers internal cache flushes.

      This results in temporary loss of functionalities (e.g. Jira Software, Jira Service Desk plugins, dashboards errors, etc.)

      Steps to Reproduce

      1. Disable Insight using REST interface (for example, as a workaround attempt for bug JSDSERVER-12048)
        PUT /rest/plugins/1.0/com.riadalabs.jira.plugins.insight-key
        Header: Content-Type: application/vnd.atl.plugins.plugin+json
        body:
        { "enabled": false }
        
      2. Observe related functionalities in Jira Software (e.g. visit dashboards), Service Desk

      Expected Results

      Only Insight plugin is disabled.

      Actual Results

      Insight plugins and other other plugins are disabled + cache flush events are triggered.

      The following is visible from atlassian-jira.log:

      2022-10-24 12:47:11,308+0000 http-nio-8080-exec-104 INFO admin 767x1071x1 1ckwq0z 172.xxx.xxx.xxx, 172.xxx.xxx.xxx /rest/plugins/1.0/com.riadalabs.jira.plugins.insight-key [c.a.plugin.manager.DefaultPluginManager] To disable plugins '[com.riadalabs.jira.plugins.insight]', we need to first disable all dependent enabled plugins: [com.atlassian.pats.pats-plugin(OPTIONAL), com.atlassian.jira.gadgets(OPTIONAL),
      com.atlassian.jira.jira-software-application(OPTIONAL), com.atlassian.jira.migration.jira-migration-plugin(OPTIONAL), com.atlassian.jira.plugins.inform.batchers(OPTIONAL), com.atlassian.mywork.mywork-jira-provider-plugin(OPTIONAL), com.atlassian.plugins.helptips.jira-help-tips(OPTIONAL),
      com.atlassian.jira.mobile(OPTIONAL), com.atlassian.jira.plugins.jira-admin-helper-plugin(OPTIONAL), com.atlassian.servicedesk.application(OPTIONAL), com.atlassian.jira.plugins.jira-dnd-attachment-plugin(OPTIONAL), com.atlassian.jira.jira-quick-edit-plugin(OPTIONAL),
      com.atlassian.jira.jira-core-reports-plugin(OPTIONAL), com.atlassian.jira.collector.plugin.jira-issue-collector-plugin(OPTIONAL), com.atlassian.jira.plugins.webhooks.jira-webhooks-plugin(OPTIONAL), com.atlassian.jira.jira-projects-issue-navigator(OPTIONAL), com.atlassian.jira.jira-issue-link-remote-jira-plugin(OPTIONAL), com.atlassian.jira.mobile.jira-mobile-rest(OPTIONAL), com.atlassian.servicedesk.servicedesk-canned-responses-plugin(OPTIONAL), com.atlassian.jirafisheyeplugin(OPTIONAL), com.atlassian.servicedesk.servicedesk-notifications-plugin(OPTIONAL),
      com.atlassian.jira.jira-issue-nav-plugin(OPTIONAL), com.atlassian.servicedesk.servicedesk-lingo-integration-plugin(OPTIONAL),
      com.atlassian.servicedesk.servicedesk-reports-plugin(OPTIONAL), com.atlassian.servicedesk.frontend-webpack-plugin(OPTIONAL), com.atlassian.jira.jira-share-plugin(OPTIONAL), com.atlassian.servicedesk.plugins.servicedesk-search-plugin(OPTIONAL), com.atlassian.servicedesk.servicedesk-knowledge-base-plugin(OPTIONAL), com.atlassian.jira.plugin.ext.bamboo(OPTIONAL), com.atlassian.jira.plugins.jira-development-integration-plugin(OPTIONAL), com.atlassian.jira.plugins.jira-transition-triggers-plugin(OPTIONAL), com.atlassian.jira.plugins.jira-bitbucket-connector-plugin(OPTIONAL), com.atlassian.jira.plugins.jira-software-plugin(OPTIONAL), com.atlassian.servicedesk.plugins.automation.servicedesk-automation-then-webhook-plugin(OPTIONAL), com.atlassian.servicedesk.servicedesk-variable-substitution-plugin(OPTIONAL), com.atlassian.servicedesk.plugins.automation.servicedesk-automation-modules-plugin(OPTIONAL), com.atlassian.servicedesk.public-rest-api(OPTIONAL), com.atlassian.servicedesk.approvals-plugin(OPTIONAL), com.atlassian.servicedesk.plugins.automation.servicedesk-automation-plugin(OPTIONAL), com.atlassian.jpo(OPTIONAL), com.atlassian.jira.plugins.inline-create.jira-inline-issue-create-plugin(OPTIONAL), com.atlassian.teams(OPTIONAL), com.radiantminds.roadmaps-jira(OPTIONAL), com.pyxis.greenhopper.jira(OPTIONAL), com.atlassian.jira.jira-issue-link-confluence-plugin(OPTIONAL), com.atlassian.jira.jira-view-issue-plugin(OPTIONAL), com.atlassian.jira.jira-issue-link-applinks-common-plugin(OPTIONAL), com.atlassian.jira.rest(OPTIONAL), com.atlassian.jira-core-project-templates(OPTIONAL), com.atlassian.jira.project-templates-plugin(OPTIONAL), com.atlassian.jira.plugins.jira-importers-plugin(OPTIONAL), com.atlassian.servicedesk.incident-management-plugin(OPTIONAL), com.atlassian.jira.plugins.workinghours(OPTIONAL), com.atlassian.servicedesk.servicedesk-lingo-plugin(OPTIONAL), com.atlassian.servicedesk(OPTIONAL), com.atlassian.servicedesk.project-ui(OPTIONAL), com.atlassian.jira.jira-issue-nav-components(OPTIONAL), com.atlassian.jira.plugins.workflow.sharing.jira-workflow-sharing-plugin(OPTIONAL), com.atlassian.jira.jira-projects-plugin(OPTIONAL), com.atlassian.jira.plugins.jira-workflow-designer(OPTIONAL), com.atlassian.jira.jira-project-config-plugin(OPTIONAL)]
      

      Many internal, non-Insight caches are being flushed:

      ...
      figSchemePersister.fieldConfigSchemesById] Cache com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.fieldConfigSchemesById was flushed
      2022-10-24 12:49:13,449+0000 http-nio-8080-exec-104 INFO admin 767x1071x1 1ckwq0z 172.xxx.xxx.xxx,172.xxx.xxx.xx /rest/plugins/1.0/com.riadalabs.jira.plugins.insight-key [c.a.c.e.c.a.j.i.f.c.persistence.CachedFieldConfigSchemePersister.fieldConfigSchemeIssueTypesBySchemeId] Cache com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.fieldConfigSchemeIssueTypesBySchemeId was flushed
      2022-10-24 12:49:13,449+0000 http-nio-8080-exec-104 INFO admin 767x1071x1 1ckwq0z 172.xxx.xxx.xxx,172.xxx.xxx.xx /rest/plugins/1.0/com.riadalabs.jira.plugins.insight-key [c.a.c.e.c.a.j.i.f.c.persistence.CachedFieldConfigSchemePersister.cacheById] Cache com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.cacheById was flushed
      2022-10-24 12:49:13,449+0000 http-nio-8080-exec-104 INFO admin 767x1071x1 1ckwq0z 172.xxx.xxx.xxx,172.xxx.xxx.xx /rest/plugins/1.0/com.riadalabs.jira.plugins.insight-key [c.a.c.e.c.a.j.i.f.c.persistence.CachedFieldConfigSchemePersister.cacheByCustomField] Cache com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.cacheByCustomField was flushed
      2022-10-24 12:49:13,449+0000 http-nio-8080-exec-104 INFO admin 767x1071x1 1ckwq0z 172.xxx.xxx.xxx,172.xxx.xxx.xx /rest/plugins/1.0/com.riadalabs.jira.plugins.insight-key [c.a.c.e.c.a.j.i.f.c.persistence.CachedFieldConfigSchemePersister.cacheByFieldConfig] Cache com.atlassian.jira.issue.fields.config.persistence.CachedFieldConfigSchemePersister.cacheByFieldConfig was flushed
      ...
      

      One potential result is visiting dashboard page returns error 500, throwing this error in the logs:

      2022-10-21 11:19:12,275+0100 http-nio-8080-exec-20 ERROR      [o.a.c.c.C.[.[localhost].[/].[action]] Servlet.service() for servlet [action] in context with path [] threw exception [java.lang.IllegalArgumentException: Root page 'com.atlassian.jira.gadgets:dashboard-page' does not exist!] with root cause
      java.lang.IllegalArgumentException: Root page 'com.atlassian.jira.gadgets:dashboard-page' does not exist!
      	at com.atlassian.plugin.webresource.assembler.DefaultWebResourceAssembler$2.requirePage(DefaultWebResourceAssembler.java:211)
      	at com.atlassian.jira.web.action.Dashboard.doExecute(Dashboard.java:187)
      	at webwork.action.ActionSupport.execute(ActionSupport.java:165)
      	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63)
      	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
      	... 6 filtered
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
      	... 52 filtered
      	at com.atlassian.diagnostics.internal.platform.monitor.http.HttpRequestMonitoringFilter.doFilter(HttpRequestMonitoringFilter.java:55)
      	... 8 filtered
      	at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
      	... 48 filtered
      	at com.atlassian.troubleshooting.thready.filter.AbstractThreadNamingFilter.doFilter(AbstractThreadNamingFilter.java:46)
      	... 17 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)
      	... 39 filtered
      	at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
      	... 5 filtered
      	at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:37)
      	... 8 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)
      	... 29 filtered
      	at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
      	... 25 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)
      

      Workaround

      To avoid any downtime, make sure to disable / enable Insight outside of working hours.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              mfilipan Marko Filipan
              Votes:
              2 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Backbone Issue Sync