Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-9695

Fabric: Blueprint REST service becomes unavailable after PaxWeb config update

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Minor
    • None
    • jboss-fuse-6.3, fuse-6.x-GA
    • Fabric8 v1
    • None
    • % %
    • Hide

      Reproducer attached (there is also a commented workaround).
      Check the README for more info.

      Show
      Reproducer attached (there is also a commented workaround). Check the README for more info.

    Description

      PaxWeb configuration update on a Fabric child container causes an expected Jetty restart and then the Blueprint REST service becomes unavailable (HTTP 404) until we manually refresh the service bundle. This is not the case with the embedded Jolokia API that still works after Jetty restart. It seems that there is some wirings problem.

      After the refresh operation we see the following exception:

      2018-10-22 08:43:34,510 | INFO  | xFrameworkWiring | HttpServiceFactoryImpl           | 137 - org.ops4j.pax.web.pax-web-runtime - 4.3.6 | Binding bundle: [paxweb-update [1194]] to http service
      2018-10-22 08:43:34,511 | ERROR | xFrameworkWiring | BeanRecipe                       | 17 - org.apache.aries.blueprint.core - 1.8.0 | The blueprint bean .component-1 in bundle paxweb-update/1.0.0 incorrectly threw an exception from its destroy method.
       java.lang.IllegalArgumentException: Alias [/rest/test] was never registered
       	at org.ops4j.pax.web.service.internal.HttpServiceStarted.unregister(HttpServiceStarted.java:278)
       	at org.ops4j.pax.web.service.internal.HttpServiceProxy.unregister(HttpServiceProxy.java:77)
       	at Proxy5953574c_e682_40a1_9d1c_b3966fa3498b.unregister(Unknown Source)
       	at org.apache.camel.component.servlet.osgi.OsgiServletRegisterer.unregister(OsgiServletRegisterer.java:105)
       	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_181]
       	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_181]
       	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_181]
       	at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_181]
       	at org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:980)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BeanRecipe.destroy(BeanRecipe.java:887)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BlueprintRepository.destroy(BlueprintRepository.java:329)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroyComponents(BlueprintContainerImpl.java:766)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BlueprintContainerImpl.tidyupComponents(BlueprintContainerImpl.java:968)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BlueprintContainerImpl.destroy(BlueprintContainerImpl.java:913)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BlueprintExtender$3.run(BlueprintExtender.java:325)[17:org.apache.aries.blueprint.core:1.8.0]
       	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_181]
       	at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_181]
       	at org.apache.aries.blueprint.container.BlueprintExtender.destroyContainer(BlueprintExtender.java:346)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:238)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[17:org.apache.aries.blueprint.core:1.8.0]
       	at org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1127)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:696)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:484)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4429)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.Felix.stopBundle(Felix.java:2528)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.Felix$RefreshHelper.stop(Felix.java:4859)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.Felix.refreshPackages(Felix.java:4130)[org.apache.felix.framework-4.4.1.jar:]
       	at org.apache.felix.framework.FrameworkWiringImpl.run(FrameworkWiringImpl.java:178)[org.apache.felix.framework-4.4.1.jar:]
       	at java.lang.Thread.run(Thread.java:748)[:1.8.0_181]

      Attachments

        Activity

          People

            ggrzybek Grzegorz Grzybek
            rhn-support-fvaleri Federico Valeri
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: