Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-20310

karaf bundle install from deploy directory may not work and logging states IllegalStateException: Missing recipe for format bundle

    XMLWordPrintable

    Details

    • Notability:
      3

      Description

      A customer upgraded from 3.8.0 to 3.16.2. They tried to install the a kar build of the repoisitory-r plugin via the install-dir/deploy directory method.

      Startup of NXRM failed because the r-proxy recipe was not found by the FelixStartLevel thread, despite additional log messages suggesting the plugin bundle was found and ACTIVATED by the bundler installer thread.

      2019-06-21 17:24:04,496+0100 INFO  [pool-2-thread-1]  *SYSTEM org.sonatype.nexus.extender.NexusBundleTracker - ACTIVATING org.sonatype.nexus.plugins.nexus-repository-r [282]
      2019-06-21 17:24:04,558+0100 WARN  [pool-2-thread-1]  *SYSTEM com.google.inject.spi.InjectionPoint - Method: public void org.sonatype.nexus.repository.r.internal.RRecipeSupport.setBrowseUnsupportedHandler(org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler) is not annotated with @Inject but is overriding a method that is annotated with @javax.inject.Inject.  Because it is not annotated with @Inject, the method will not be injected. To fix this, annotate the method with @Inject.
      2019-06-21 17:24:04,558+0100 WARN  [pool-2-thread-1]  *SYSTEM com.google.inject.spi.InjectionPoint - Method: public void org.sonatype.nexus.repository.r.internal.RRecipeSupport.setBrowseUnsupportedHandler(org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler) is not annotated with @Inject but is overriding a method that is annotated with @javax.inject.Inject.  Because it is not annotated with @Inject, the method will not be injected. To fix this, annotate the method with @Inject.
      2019-06-21 17:24:04,558+0100 WARN  [pool-2-thread-1]  *SYSTEM com.google.inject.spi.InjectionPoint - Method: public void org.sonatype.nexus.repository.r.internal.RRecipeSupport.setBrowseUnsupportedHandler(org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler) is not annotated with @Inject but is overriding a method that is annotated with @javax.inject.Inject.  Because it is not annotated with @Inject, the method will not be injected. To fix this, annotate the method with @Inject.
      2019-06-21 17:24:05,277+0100 WARN  [pool-2-thread-1]  *SYSTEM com.google.inject.spi.InjectionPoint - Method: public void org.sonatype.nexus.repository.r.internal.RRecipeSupport.setBrowseUnsupportedHandler(org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler) is not annotated with @Inject but is overriding a method that is annotated with @javax.inject.Inject.  Because it is not annotated with @Inject, the method will not be injected. To fix this, annotate the method with @Inject.
      2019-06-21 17:24:05,293+0100 WARN  [pool-2-thread-1]  *SYSTEM com.google.inject.spi.InjectionPoint - Method: public void org.sonatype.nexus.repository.r.internal.RRecipeSupport.setBrowseUnsupportedHandler(org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler) is not annotated with @Inject but is overriding a method that is annotated with @javax.inject.Inject.  Because it is not annotated with @Inject, the method will not be injected. To fix this, annotate the method with @Inject.
      2019-06-21 17:24:05,293+0100 WARN  [pool-2-thread-1]  *SYSTEM com.google.inject.spi.InjectionPoint - Method: public void org.sonatype.nexus.repository.r.internal.RRecipeSupport.setBrowseUnsupportedHandler(org.sonatype.nexus.repository.view.handlers.BrowseUnsupportedHandler) is not annotated with @Inject but is overriding a method that is annotated with @javax.inject.Inject.  Because it is not annotated with @Inject, the method will not be injected. To fix this, annotate the method with @Inject.
      
      2019-06-21 17:24:16,027+0100 ERROR [FelixStartLevel]  *SYSTEM org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl - Failed transition: NEW -> STARTED
      java.lang.IllegalStateException: Missing recipe: r-proxy
       at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.recipe(RepositoryManagerImpl.java:150)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.newRepository(RepositoryManagerImpl.java:168)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.restoreRepositories(RepositoryManagerImpl.java:260)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.doStart(RepositoryManagerImpl.java:242)
       at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start(StateGuardLifecycleSupport.java:67)
       at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
       at org.sonatype.nexus.common.stateguard.StateGuard$TransitionImpl.run(StateGuard.java:193)
       at org.sonatype.nexus.common.stateguard.TransitionsInterceptor.invoke(TransitionsInterceptor.java:56)
       at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:199)
       at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:111)
       at org.sonatype.nexus.extender.NexusContextListener.moveToPhase(NexusContextListener.java:304)
       at org.sonatype.nexus.extender.NexusContextListener.frameworkEvent(NexusContextListener.java:201)
       at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1429)
       at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
       at java.lang.Thread.run(Thread.java:748)
      2019-06-21 17:24:16,027+0100 ERROR [FelixStartLevel]  *SYSTEM org.sonatype.nexus.extender.NexusContextListener - Failed to start nexus
      java.lang.IllegalStateException: Missing recipe: r-proxy
       at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.recipe(RepositoryManagerImpl.java:150)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.newRepository(RepositoryManagerImpl.java:168)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.restoreRepositories(RepositoryManagerImpl.java:260)
       at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.doStart(RepositoryManagerImpl.java:242)
       at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start(StateGuardLifecycleSupport.java:67)
       at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
       at org.sonatype.nexus.common.stateguard.StateGuard$TransitionImpl.run(StateGuard.java:193)
       at org.sonatype.nexus.common.stateguard.TransitionsInterceptor.invoke(TransitionsInterceptor.java:56)
       at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:199)
       at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:111)
       at org.sonatype.nexus.extender.NexusContextListener.moveToPhase(NexusContextListener.java:304)
       at org.sonatype.nexus.extender.NexusContextListener.frameworkEvent(NexusContextListener.java:201)
       at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1429)
       at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
       at java.lang.Thread.run(Thread.java:748)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable - java.lang.IllegalStateException: Missing recipe: r-proxy
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at com.google.common.base.Preconditions.checkState(Preconditions.java:585)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.recipe(RepositoryManagerImpl.java:150)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.newRepository(RepositoryManagerImpl.java:168)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.restoreRepositories(RepositoryManagerImpl.java:260)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.repository.manager.internal.RepositoryManagerImpl.doStart(RepositoryManagerImpl.java:242)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.common.stateguard.StateGuardLifecycleSupport.start(StateGuardLifecycleSupport.java:67)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.common.stateguard.StateGuard$TransitionImpl.run(StateGuard.java:193)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.common.stateguard.TransitionsInterceptor.invoke(TransitionsInterceptor.java:56)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:199)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:111)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.extender.NexusContextListener.moveToPhase(NexusContextListener.java:304)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.sonatype.nexus.extender.NexusContextListener.frameworkEvent(NexusContextListener.java:201)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1429)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
      2019-06-21 17:24:16,043+0100 ERROR [FelixStartLevel]  *SYSTEM java.lang.Throwable -  at java.lang.Thread.run(Thread.java:748)
      2019-06-21 17:24:16,059+0100 INFO  [pool-2-thread-1]  *SYSTEM org.sonatype.nexus.extender.NexusBundleTracker - ACTIVATED org.sonatype.nexus.plugins.nexus-repository-r [282]
      

      Reproduce of Problem

      Pick a format plugin from the community and follow these instructions:

      1. compile it against 3.18.0-01 using -PbuildKar to build the KAR
      (if using master you will need to revert https://github.com/sonatype/nexus-internal/commit/a20a3de34ea30a9a696486c13d616833ac70ca68)
      unpack NXRM master
      2. copy the community KAR over to $install-dir/deploy directory
      3. boot NXRM and create a repository with the community format
      4. restart NXRM

      Workaround

      The customer eventually worked around the issue by not using the deploy directory install method, and instead edited the karaf pro features file manually and installed the jar instead. When they did this, the plugin was found, startup succeeded and there was no r-proxy recipe missing error.

      Expected

      NXRM should successfully restart without exceptions while using a custom format deployed as a KAR file in the deploy directory, and any previously created repositories in that format should be successfully loaded.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mdodgson Mark Dodgson
              Reporter:
              plynch Peter Lynch
              Last Updated By:
              Wes Wannemacher
              Team:
              NXRM - Operations/Groot
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title