glassfish
  1. glassfish
  2. GLASSFISH-15454

delete-resource-adapter-config jmsra fails in cluster

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0_b34
    • Component/s: jms
    • Labels:
      None

      Description

      http://java.net/jira/browse/GLASSFISH-15062

      While trying to fix the above issue,
      delete-resource-adapter-config jmsra on a cluster fails with the following exception related to lazy-init.

      [#|2011-01-06T10:25:46.374+0530|SEVERE|glassfish3.1|javax.enterprise.system.util.com.sun.enterprise.util.i18n|_ThreadID=32;_ThreadName=Thread-1;|UTIL6550: Error in local string manager - resource bundle is probably missing.
      java.util.MissingResourceException: Can't find bundle for base name com.sun.enterprise.connectors.jms.system.LocalStrings, locale en_US
      at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1427)
      at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1250)
      at java.util.ResourceBundle.getBundle(ResourceBundle.java:952)
      at com.sun.enterprise.util.i18n.StringManagerBase.getResourceBundle(StringManagerBase.java:127)
      at com.sun.enterprise.util.i18n.StringManagerBase.getStringWithDefault(StringManagerBase.java:180)
      at com.sun.enterprise.util.i18n.StringManagerBase.getStringWithDefault(StringManagerBase.java:206)
      at com.sun.enterprise.util.i18n.StringManagerBase.getString(StringManagerBase.java:246)
      at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.handleRequest(ActiveJmsResourceAdapter.java:2203)
      at com.sun.enterprise.v3.services.impl.ServiceInitializerHandler.onAcceptInterest(ServiceInitializerHandler.java:114)
      at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKey(SelectorHandlerRunner.java:301)
      at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKeys(SelectorHandlerRunner.java:263)
      at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:200)
      at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:132)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:660)

      #]

      [#|2011-01-06T10:25:46.375+0530|SEVERE|glassfish3.1|grizzly|_ThreadID=11;_ThreadName=Thread-1;|doSelect exception
      java.lang.RuntimeException: No local string defined
      at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.handleRequest(ActiveJmsResourceAdapter.java:2204)
      at com.sun.enterprise.v3.services.impl.ServiceInitializerHandler.onAcceptInterest(ServiceInitializerHandler.java:114)
      at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKey(SelectorHandlerRunner.java:301)
      at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKeys(SelectorHandlerRunner.java:263)
      at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:200)
      at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:132)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:660)
      Caused by: java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at com.sun.enterprise.connectors.jms.system.ActiveJmsResourceAdapter.handleRequest(ActiveJmsResourceAdapter.java:2198)
      ... 8 more
      Caused by: java.lang.IllegalStateException: Cannot access PortMapperClientHandler until embedded broker has been started
      at com.sun.messaging.jms.blc.LifecycleManagedBroker.getPortMapperClientHandler(LifecycleManagedBroker.java:1977)
      at com.sun.messaging.jms.ra.ResourceAdapter.getPortMapperClientHandler(ResourceAdapter.java:2024)
      ... 13 more

      #]

      Raising this issue after talking to Satish.

      STEPS TO REPRODUCE :

      Setup a 2 instance cluster.
      Start domain
      start cluster
      asadmin jms-ping --target "cluster"
      asadmin create-resource-adapter-config jmsra
      asadmin jms-ping --target "cluster"
      asadmin delete-resource-adapter-config jmsra
      asadmin jms-ping --target "cluster"

      delete-resource-adapter-config command will show the exceptions stated above in server.log.

        Activity

        Hide
        Satish Kumar added a comment -

        In this particular sequence, the RA is unable to restart an embedded broker when lazy-init is enabled since the ports do not appear to be getting feed-up. The first time when create RA config is called, the broker starts correctly. The broker start fails only when delete RA config is called and this only occurs when lazy-init is enabled.

        The Workaround is to disable lazy-init by setting it to false for the cluster-config or set jms integration type = LOCAL.

        Reducing the priority to Minor since this is not a typical use-case. User's do not require to create or delete resource adapter conifs for JMSRA to use the JMS service. Also, there are a couple of work-arounds for this issue.

        Show
        Satish Kumar added a comment - In this particular sequence, the RA is unable to restart an embedded broker when lazy-init is enabled since the ports do not appear to be getting feed-up. The first time when create RA config is called, the broker starts correctly. The broker start fails only when delete RA config is called and this only occurs when lazy-init is enabled. The Workaround is to disable lazy-init by setting it to false for the cluster-config or set jms integration type = LOCAL. Reducing the priority to Minor since this is not a typical use-case. User's do not require to create or delete resource adapter conifs for JMSRA to use the JMS service. Also, there are a couple of work-arounds for this issue.
        Hide
        Scott Fordin added a comment -

        Need more info to add issue to 3.1 Release Notes. Specifically, better description and more detailed explanations of workarounds, including why you might choose one versus the other.

        Show
        Scott Fordin added a comment - Need more info to add issue to 3.1 Release Notes. Specifically, better description and more detailed explanations of workarounds, including why you might choose one versus the other.
        Hide
        Chris Kasso added a comment -

        Removed the RN's tag. The RE indicated this is not a common scenario.

        Show
        Chris Kasso added a comment - Removed the RN's tag. The RE indicated this is not a common scenario.
        Hide
        David Zhao added a comment -

        Revision:
        53520
        Time:
        04/16/2012 01:54 PM
        Author:
        liang.x.zhao@oracle.com
        Path:
        main/appserver/jms/jms-core/src/main/java/com/sun/enterprise/connectors/jms/system/ActiveJmsResourceAdapter.java (trunk)
        Message:
        Fix GLASSFISH-15454. Add logic for deactivating grizzly proxy when the jmsra is unloaded.

        Show
        David Zhao added a comment - Revision: 53520 Time: 04/16/2012 01:54 PM Author: liang.x.zhao@oracle.com Path: main/appserver/jms/jms-core/src/main/java/com/sun/enterprise/connectors/jms/system/ActiveJmsResourceAdapter.java (trunk) Message: Fix GLASSFISH-15454 . Add logic for deactivating grizzly proxy when the jmsra is unloaded.

          People

          • Assignee:
            David Zhao
            Reporter:
            Jagadish
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: