Uploaded image for project: 'JIRA Server (including JIRA Core)'
  1. JIRA Server (including JIRA Core)
  2. JRASERVER-22633

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

    Details

    • Regular Expression:
      ERROR.*Unable to create application context for.*Dependency on.*\n.*has timed out

      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: