2 Replies Latest reply on Aug 22, 2014 6:04 AM by vishu#13

    session replication not work in CF10 cluster set up

    d_wang
      I would like to confirm session replication working in CF10 cluster set up.
      First, I am using 30-days trial version (just installed for one or two days). If cluster will not work with 30-days trial version, then we could stop here.
      After following the instruction athttp://help.adobe.com/en_US/ColdFusion/10.0/Admin/WSc3ff6d0ea77859461172e0811cbf363c31-7ff a.html, with J2EE session enable and distributable existed in web.xml,
      I could see log entries like
      "INFO: Replication member added:org.apache.catalina.tribes.membership.MemberImpl... "
      To me, the node was recognized within cluster at this point.

       

      Next, I would like to confirm session replicated as well. I used sample athttp://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24 -7c30.html, but I do not see any log entries regarding session being replicated. When I set up a separated tomcat 6 cluster and used the sample athttp://blogs.agilefaqs.com/wp-content/uploads/2009/11/session.jsp, I could see something like

       

      "INFO: SessionListener: attributeAdded …"
      I would expect CF 10 will have something the same since CF 10 is using tomcat as well. I tried the same jsp using with a quick cfm code at CF 10 cluster, still could NOT confirm the session replication.
        • 1. Re: session replication not work in CF10 cluster set up
          Dale Roberts

          Not necessarily an answer to your questions, but I worked with the people at Adobe to try and get working session replication with Tomcat (v7, but v6 should be the same) installed separately with ColdFusion deployed as a war file in tomcat. At first CF sessions didn't replicate with weird errors about ClassNotFound ... eventually I got to a working solution (though with a "caveat"):

           

          The bottom line is:

           

          I _can_ confirm that, with working Tomcat clustering in place, if I ensure there is no "Application name" set in the Application.cfc or Application.cfm file then clustering _does_ work (obviously I had to tell CF to allow nameless applications in the admin interface). As soon as I put an application name back in clustering once again starts logging nasty errors and fails to work.

           

          So

          • don't name your application, which requires you allowing applications wtih no name in the CF admin console
          • make sure your tomcat replication is working the first place (I deployed https://code.google.com/p/hsr-test/ In order to verify "outside coldfusion"
          • tweak your logging for clustering

           

          My conf/logging.properties additions for cluster logging:

          # Log clustering information

          org.apache.catalina.cluster = FINE

          org.apache.catalina.ha.deploy.level = INFO

          org.apache.catalina.ha.level = FINE

          org.apache.catalina.tribes.level = FINE

          org.apache.catalina.tribes.MESSAGES.level = FINE

           

          For reference I ended up with the below as my tomcat cluster configuration (which is basically what you'd get from reading loads of cruft on tomcat clustering on the web):

           

          <!-- BEGIN CLUSTER CONFIG -->

            <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">

            <Manager notifyListenersOnReplication="true" expireSessionsOnShutdown="false" className="org.apache.catalina.ha.session.DeltaManager">

            </Manager>

            <Channel className="org.apache.catalina.tribes.group.GroupChannel">

            <Membership port="45564" dropTime="3000" address="228.0.0.4" className="org.apache.catalina.tribes.membership.McastService" frequency="500">

            </Membership>

            <Receiver port="4003" autoBind="100" address="auto" selectorTimeout="5000" maxThreads="6" className="org.apache.catalina.tribes.transport.nio.NioReceiver">

            </Receiver>

            <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender">

            </Transport>

            </Sender>

            <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector">

            </Interceptor>

            <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor">

            </Interceptor>

            </Channel>

            <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter="">

            </Valve>

            <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve">

            </Valve>

            <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener">

            </ClusterListener>

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

            </ClusterListener>

            </Cluster>

            <!-- END CLUSTER CONFIG -->

          • 2. Re: session replication not work in CF10 cluster set up
            vishu#13 Level 3

            Check this thread : https://forums.adobe.com/message/5616340#5616340

             

            HTH

             

            Thanks

            Vj

            1 person found this helpful