Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-10951

HASessionStateService can sometimes start before ClusterPartition is started

    XMLWordPrintable

    Details

    • Release Notes Text:
      Hide
      In previous versions of JBoss EAP 5 it was found that in some cases the HASessionStateService could start before the ClusterPartition was. This lead to NullPointerExceptions in org.jboss.ha.hasessionstate.server.HASessionStateImpl.localTakeOwnership(HASessionStateImpl.java:436) since the session#owner is null at that time. This, in turn, leade to NoSuchObjectException when trying to reach a SFSB clustered bean.

      Attributes in the JASessionStateService dependency have been refined to ensure that the HAPartition is started before the service is. This resolves the issue.
      Show
      In previous versions of JBoss EAP 5 it was found that in some cases the HASessionStateService could start before the ClusterPartition was. This lead to NullPointerExceptions in org.jboss.ha.hasessionstate.server.HASessionStateImpl.localTakeOwnership(HASessionStateImpl.java:436) since the session#owner is null at that time. This, in turn, leade to NoSuchObjectException when trying to reach a SFSB clustered bean. Attributes in the JASessionStateService dependency have been refined to ensure that the HAPartition is started before the service is. This resolves the issue.
    • Release Notes Docs Status:
      Needs More Info
    • Docs QE Status:
      NEW

      Description

      In some cases HASessionStateService can start before ClusterPartition is started which leads to NPE in org.jboss.ha.hasessionstate.server.HASessionStateImpl.localTakeOwnership(HASessionStateImpl.java:436) since the session#owner is null that time, see the stacktrace below. This leads to NoSuchObjectException when trying to reach a SFSB clustered bean.

      The ClusterPartition has always to start before the HASessionStateService as the HASessionStateService takes a node name out of the partition and fails to work if it is null.

      2014-01-08 16:45:35,437 DEBUG [org.jboss.ejb.plugins.AbstractInstanceCache] (WorkerThread#2[10.34.29.179:38574]) Activation failure, id=10.34.29.179:1099:hq6re3y5-cr
      java.lang.NullPointerException
              at org.jboss.ha.hasessionstate.server.HASessionStateImpl.localTakeOwnership(HASessionStateImpl.java:436)
              at org.jboss.ha.hasessionstate.server.HASessionStateImpl.getStateWithOwnership(HASessionStateImpl.java:407)
              at org.jboss.ejb.plugins.StatefulHASessionPersistenceManager.activateSession(StatefulHASessionPersistenceManager.java:157)
              at org.jboss.ejb.plugins.StatefulSessionInstanceCache.activate(StatefulSessionInstanceCache.java:113)
              at org.jboss.ejb.plugins.StatefulHASessionInstanceCache.get(StatefulHASessionInstanceCache.java:114)
              at org.jboss.ejb.plugins.StatefulSessionInstanceInterceptor.invoke(StatefulSessionInstanceInterceptor.java:252)
              at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
              at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
              at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
              at org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:100)
              at org.jboss.ejb.plugins.security.PreSecurityInterceptor.invoke(PreSecurityInterceptor.java:84)
              at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
              at org.jboss.ejb.plugins.CleanShutdownInterceptor.invoke(CleanShutdownInterceptor.java:282)
              at org.jboss.ejb.plugins.AbstractInterceptor.invoke(AbstractInterceptor.java:112)
              at org.jboss.ha.framework.test.ExplicitFailoverServerInterceptor.invoke(ExplicitFailoverServerInterceptor.java:90)
              at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
              at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:650)
              at org.jboss.ejb.Container.invoke(Container.java:1092)
              at sun.reflect.GeneratedMethodAccessor314.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:606)
              at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
              at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
              at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
              at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
              at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
              at org.jboss.invocation.unified.server.UnifiedInvokerHA.invoke(UnifiedInvokerHA.java:149)
              at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)
              at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:797)
              at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:750)
              at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
              at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  istudens Ivo Studensky
                  Reporter:
                  istudens Ivo Studensky
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: