Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-22633

JIRA starts up in unworkable stage if core plugin is not started

    XMLWordPrintable

Details

    Description

      OSGi (v2) plugins that ship by default with JIRA wait 60 seconds for JIRA to start up and load the necessary plugins that these plugins depend on.
      If JIRA takes longer than 60 seconds to start up, these plugins will start timing out and fail to load giving errors such as the below one.

      2010-10-28 00:07:26,109 main ERROR      [atlassian.plugin.manager.PluginEnabler] Unable to start the following plugins due to timeout while waiting for plugin to enable: com.atlassian.gadgets.renderer,com.atlassian.jira.gadgets,com.atlassian.gadgets.oauth.serviceprovider,com.atlassian.gadgets.embedded,com.atlassian.streams.streams-jira-plugin,com.atlassian.gadgets.dashboard
      2010-10-28 00:07:36,543 Timer-0 WARN      [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=com.atlassian.jira.gadgets, config=osgibundle:/META-INF/spring/*.xml)]
      2010-10-28 00:07:36,582 Timer-0 ERROR      [internal.dependencies.startup.DependencyWaiterApplicationContextExecutor] Unable to create application context for [com.atlassian.jira.gadgets], unsatisfied dependencies: Dependency on [(objectClass=com.atlassian.gadgets.dashboard.DashboardService)] (from bean [&dashboardService]), Dependency on [(objectClass=com.atlassian.gadgets.view.GadgetViewFactory)] (from bean [&gadgetViewFactory])
      org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.jira.gadgets' has timed out
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:462)
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:51)
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:108)
      	at java.util.TimerThread.mainLoop(Timer.java:512)
      	at java.util.TimerThread.run(Timer.java:462)
      2010-10-28 00:07:36,589 Timer-0 ERROR      [extender.internal.activator.ContextLoaderListener] Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=com.atlassian.jira.gadgets, config=osgibundle:/META-INF/spring/*.xml))
      org.springframework.context.ApplicationContextException: Application context initialization for 'com.atlassian.jira.gadgets' has timed out
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:462)
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:51)
      	at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:108)
      	at java.util.TimerThread.mainLoop(Timer.java:512)
      	at java.util.TimerThread.run(Timer.java:462)
      

      If it happens that one of the core plugins times out e.g. REST all depended plugins such as gadgets, activity stream will fail to load. Ultimately the application will start up in an obscure way and we are leaving users without any feedback about it.

      Most customer report similar problem if JIRA takes longer to start up for e.g. due to under-performing hardware or virtualistaion infrastructure.

      Unfortunately, at this stage the workaround is behaviour is to restart JIRA and allows it to reinitialise the plugin framework.

      If one of the core plugins isn't initiated correctly, we should lock up the application and notify the user about this problem by dropping warring into the log file:

      ******************************************
      JIRA startup failed, JIRA has been locked.
      ******************************************
      

      and UI message:

      Attachments

        Issue Links

          Activity

            People

              pleschev Peter Leschev
              bdziedzic Bogdan Dziedzic [Atlassian]
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: