cancel
Showing results for 
Search instead for 
Did you mean: 

Alfresco 3.4.2 clustering : session replication

jnjp28
Champ in-the-making
Champ in-the-making
Hi,

i'm trying to mount a Alfresco + tomcat 6 clustering.

To configure clustering i did this
  • In web.xml i put the param "distribuable"

  • In my tomcat servers conf files i put this line :
    <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
When i'm starting my tomcat nodes i have this warning :

org.apache.catalina.ha.tcp.SimpleTcpCluster
registerManager
WARNING: Manager [ org.apache.catalina.session.StandardManager@2fe6e305]
does not implement ClusterManager, addition to cluster has been aborted.

Then i try to authenticate in the first node. The authentication is OK
Then i stop the first node.
Then i  do an action in web-client
Alfresco forward me to the login-page

The session replication doesn't work and i don't know why…

Can you help me?

Regards
2 REPLIES 2

jnjp28
Champ in-the-making
Champ in-the-making
I Have new issues :

the tomcat's configuration seems to be right.

But we have the have a new problem in the UI :


View State cannot be reconstructed
javax.faces.FacesException



Regards

Thierry Morin

jnjp28
Champ in-the-making
Champ in-the-making
Tomcat 1 conf


<Engine name="Catalina" defaultHost="localhost">

      <!–For clustering, please take a look at documentation at:
          /docs/cluster-howto.html  (simple how to)
          /docs/config/cluster.html (reference documentation) –>
<!–      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> –>

     <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
              channelSendOptions="8">
          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"/>
          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
               <Membership className="org.apache.catalina.tribes.membership.McastService"
                           address="228.0.0.4"
                           port="45564"
                           frequency="500"
                           dropTime="3000"/>
               <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                         address="172.24.252.48"
                         port="4000"
                         autoBind="100"
                         selectorTimeout="5000"
                         maxThreads="6"/>
               <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                   <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
               </Sender>
               <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
               <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
          </Channel>
          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>

          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
     </Cluster>

Tomcat 2 conf :


<Engine name="Catalina" defaultHost="localhost">

<Engine name="Catalina" defaultHost="localhost">

          <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
              channelSendOptions="8">
          <Manager className="org.apache.catalina.ha.session.DeltaManager"
                   expireSessionsOnShutdown="false"
                   notifyListenersOnReplication="true"
                   notifyContainerListenersOnReplication="true"/>
          <Channel className="org.apache.catalina.tribes.group.GroupChannel">
               <Membership className="org.apache.catalina.tribes.membership.McastService"
                           address="228.0.0.4"
                           port="45564"
                           frequency="500"
                           dropTime="3000"/>
               <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
                         address="172.24.252.49"
                         port="4000"
                         autoBind="100"
                         selectorTimeout="5000"
                         maxThreads="6"/>
               <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
                   <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
               </Sender>
               <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
               <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
          </Channel>
          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
                 filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
     </Cluster>

Tomcat 2 : logs after stopping tomcat 1 :

7 nov. 2011 14:31:40 org.apache.catalina.tribes.group.interceptors.TcpFailureDetector memberDisappeared
INFO: Received memberDisappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=539669,id={-36 -121 68 39 -82 -75 75 -19 -88 82 29 -115 7 70 12 -48 }, payload={}, command={}, domain={}, ]] message. Will verify.
7 nov. 2011 14:31:40 org.apache.catalina.tribes.group.interceptors.TcpFailureDetector memberDisappeared
INFO: Verification complete. Member disappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=539669,id={-36 -121 68 39 -82 -75 75 -19 -88 82 29 -115 7 70 12 -48 }, payload={}, command={}, domain={}, ]]
7 nov. 2011 14:31:40 org.apache.catalina.ha.tcp.SimpleTcpCluster memberDisappeared
INFO: Received member disappearedSmiley Surprisedrg.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=539669,id={-36 -121 68 39 -82 -75 75 -19 -88 82 29 -115 7 70 12 -48 }, payload={}, command={}, domain={}, ]
7 nov. 2011 14:31:47 org.apache.catalina.ha.tcp.SimpleTcpCluster memberAdded
INFO: Replication member addedSmiley Surprisedrg.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=1012,id={30 -103 -123 105 -14 84 77 -71 -85 -5 -5 -47 -106 -113 -80 68 }, payload={}, command={}, domain={}, ]
14:32:37,000  INFO  [cache.jgroups.JGroupsKeepAliveHeartbeatReceiver]
New cluster view with additional members:
   Last View: [sged02pp-50244|29] [sged02pp-50244, sged01pp-17170]
   New View:  [sged02pp-50244|30] [sged02pp-50244, sged01pp-17170, sged01pp-42724]
14:33:42,243  WARN  [cache.jgroups.JGroupsKeepAliveHeartbeatReceiver]
New cluster view with fewer members:
   Last View: [sged02pp-50244|30] [sged02pp-50244, sged01pp-17170, sged01pp-42724]
   New View:  [sged02pp-50244|31] [sged02pp-50244, sged01pp-42724]
7 nov. 2011 14:55:38 org.apache.catalina.tribes.group.interceptors.TcpFailureDetector memberDisappeared
INFO: Received memberDisappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=1429086,id={30 -103 -123 105 -14 84 77 -71 -85 -5 -5 -47 -106 -113 -80 68 }, payload={}, command={}, domain={}, ]] message. Will verify.
7 nov. 2011 14:55:38 org.apache.catalina.tribes.group.interceptors.TcpFailureDetector memberDisappeared
INFO: Verification complete. Member disappeared[org.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=1429086,id={30 -103 -123 105 -14 84 77 -71 -85 -5 -5 -47 -106 -113 -80 68 }, payload={}, command={}, domain={}, ]]
7 nov. 2011 14:55:38 org.apache.catalina.ha.tcp.SimpleTcpCluster memberDisappeared
INFO: Received member disappearedSmiley Surprisedrg.apache.catalina.tribes.membership.MemberImpl[tcp://{172, 24, 252, 48}:4000,{172, 24, 252, 48},4000, alive=1429086,id={30 -103 -123 105 -14 84 77 -71 -85 -5 -5 -47 -106 -113 -80 68 }, payload={}, command={}, domain={}, ]
14:56:05,226  ERROR [shared_impl.util.StateUtils] View State cannot be reconstructed
javax.faces.FacesException
   at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:486)
   at org.apache.myfaces.shared_impl.util.StateUtils.reconstruct(StateUtils.java:374)
   at org.apache.myfaces.renderkit.html.HtmlResponseStateManager.getTreeStructureToRestore(HtmlResponseStateManager.java:169)
   at org.apache.myfaces.application.jsp.JspStateManagerImpl.getSequenceString(JspStateManagerImpl.java:305)
   at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreTreeStructure(JspStateManagerImpl.java:271)
   at org.apache.myfaces.application.jsp.JspStateManagerImpl.restoreView(JspStateManagerImpl.java:312)
   at org.apache.myfaces.application.jsp.JspViewHandlerImpl.restoreView(JspViewHandlerImpl.java:278)
   at org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:83)
   at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:105)
   at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:80)
   at javax.faces.webapp.FacesServlet.service(FacesServlet.java:143)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.web.app.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:104)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy209.doFilter(Unknown Source)
   at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.repo.web.filter.beans.NullFilter.doFilter(NullFilter.java:68)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.alfresco.repo.management.subsystems.ChainingSubsystemProxyFactory$1.invoke(ChainingSubsystemProxyFactory.java:116)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at $Proxy209.doFilter(Unknown Source)
   at org.alfresco.repo.web.filter.beans.BeanProxyFilter.doFilter(BeanProxyFilter.java:82)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
   at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
   at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
   at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
   at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
   at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
   at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
   at java.lang.Thread.run(Unknown Source)
Caused by: javax.faces.FacesException: ViewExpiredException
   at org.apache.myfaces.shared_impl.util.StateUtils.decrypt(StateUtils.java:479)
   … 50 more
14:57:44,477  WARN  [cache.jgroups.JGroupsKeepAliveHeartbeatReceiver]
New cluster view with fewer members:
   Last View: [sged02pp-50244|31] [sged02pp-50244, sged01pp-42724]
   New View:  [sged02pp-50244|32] [sged02pp-50244]