Uploaded image for project: 'Magnolia'
  1. Magnolia
  2. MAGNOLIA-7176

Installation of Resource-loader and Task-management modules fails if they are installed before activation module

    XMLWordPrintable

Details

    • Task
    • Resolution: Won't Do
    • Neutral
    • None
    • None
    • None
    • None

    Description

      Resource-loader and Task-management has no dependency to activation which cause that they can be installed before activation module, but this fail while registering workspace to subscribers. Problem is that info.magnolia.module.delta.SetupModuleRepositoriesTask registers new workspace to subscribers if activation module is InstalledOrRegistered. But because activation module is not installed yet than also ActivationManager is not init and info.magnolia.module.delta.SetupModuleRepositoriesTask.SubscribeWorkspaceTask fails on NPE

      [INFO] [talledLocalContainer] 2017-10-12 08:49:41,855 WARN  fo.magnolia.objectfactory.ObservedComponentFactory: /server/activation does not exist, default implementation for interface info.magnolia.cms.exchange.ActivationManager is unknown, will return null.
      [INFO] [talledLocalContainer] 2017-10-12 08:49:41,856 WARN  fo.magnolia.objectfactory.ObservedComponentFactory: An instance of interface info.magnolia.cms.exchange.ActivationManager couldn't be loaded from config:/server/activation yet, returning null.
      [INFO] [talledLocalContainer] 2017-10-12 08:49:41,865 ERROR info.magnolia.module.InstallContextImpl           : [77/798 tasks - Magnolia Resource Loader (version 5.6.0-SNAPSHOT)]> Could not install or update resource-loader module. Task 'Setup module repositories' failed. (NullPointerException: )
      [INFO] [talledLocalContainer] info.magnolia.module.delta.TaskExecutionException: Could not bootstrap workspace: null
      [INFO] [talledLocalContainer] 	at info.magnolia.module.delta.SetupModuleRepositoriesTask.execute(SetupModuleRepositoriesTask.java:80) ~[magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.ModuleManagerImpl.applyDeltas(ModuleManagerImpl.java:511) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.ModuleManagerImpl.installOrUpdateModule(ModuleManagerImpl.java:493) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.ModuleManagerImpl$1.doExec(ModuleManagerImpl.java:279) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.ModuleManagerImpl.performInstallOrUpdate(ModuleManagerImpl.java:273) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.ui.ModuleManagerNullUI.onStartup(ModuleManagerNullUI.java:66) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.cms.beans.config.ConfigLoader.load(ConfigLoader.java:146) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.init.MagnoliaServletContextListener$1.doExec(MagnoliaServletContextListener.java:259) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.init.MagnoliaServletContextListener.startServer(MagnoliaServletContextListener.java:256) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:182) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.init.MagnoliaServletContextListener.contextInitialized(MagnoliaServletContextListener.java:128) [magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4727) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5189) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823) [catalina.jar:8.5.5]
      [INFO] [talledLocalContainer] 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_144]
      [INFO] [talledLocalContainer] 	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_144]
      [INFO] [talledLocalContainer] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_144]
      [INFO] [talledLocalContainer] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_144]
      [INFO] [talledLocalContainer] 	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_144]
      [INFO] [talledLocalContainer] Caused by: java.lang.NullPointerException
      [INFO] [talledLocalContainer] 	at info.magnolia.module.delta.SetupModuleRepositoriesTask$SubscribeWorkspaceTask.doExecute(SetupModuleRepositoriesTask.java:119) ~[magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.delta.AbstractRepositoryTask.execute(AbstractRepositoryTask.java:57) ~[magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.delta.ConditionalDelegateTask.execute(ConditionalDelegateTask.java:61) ~[magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.delta.ArrayDelegateTask.execute(ArrayDelegateTask.java:98) ~[magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	at info.magnolia.module.delta.SetupModuleRepositoriesTask.execute(SetupModuleRepositoriesTask.java:76) ~[magnolia-core-5.6-SNAPSHOT.jar:?]
      [INFO] [talledLocalContainer] 	... 29 more
      

      Solution
      Would be to add optional dependency to activation module into Resource-loader and Task-management module descriptors

      This is not issue with new publishing module which doesn't need to register workspace to receivers.

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              Unassigned Unassigned
              mdivilek Milan Divilek
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Checklists

                  Task DoR