0 Replies Latest reply on Jan 23, 2013 8:46 PM by Tuelho

    Session Replication doesn't work when using a custom Unicast Channel


      After configure a WLS Cluster for an WebApp with session replication support enabled I faced some issues with cluster configuration.
      My LAB env used for this configurations is:
      One Solaris 10 SPARC box.
      -- One WLS 11g (10.3.6) domain with:
      ---- 4 Managed servers:
      ---- Admin server
      ---- server-1
      ---- server-2
      ---- Proxy Server (HttpClusterServlet)
      --- 1 Cluster composed by:
      ---- server-1
      ---- server-2
      In that setup I noticed if I define a custom network channel for servers ( server>protocols>channels ) in the cluster and set Cluster Messaging Mode as Unicast* in the Cluster config ( Cluster>Configuration>Messaging>Messaging Mode ), so the session state replication does not work.

      When I enable the cluster replication debug for managed servers the following messages appears:
      <> <> <1358966729933> <BEA-000000> <[roid:-1772481434088297851] Creating primary for application key /webapp>
      ####<Jan 23, 2013 4:45:29 PM BRST> <Debug> <ReplicationDetails> <de25503> <server-1> <[ACTIVE] ExecuteThread: '5' for queue: > 'weblogic.kernel.Default (self-tuning)'> <<ano
      nymous>> <> <> <1358966729958> <BEA-000000> *<Has secondary servers? false>*
      ####<Jan 23, 2013 4:45:29 PM BRST> <Debug> <ReplicationDetails> <de25503> <server-1> <[ACTIVE] ExecuteThread: '5' for queue: >'weblogic.kernel.Default (self-tuning)'> <<ano
      nymous>> <> <> <1358966729959> <BEA-000000> *<Current secondary server? null>*
      ####<Jan 23, 2013 4:45:29 PM BRST> <Debug> <Replication> <de25503> <server-1> <[ACTIVE] ExecuteThread: '5' for queue: >'weblogic.kernel.Default (self-tuning)'> <<anonymous>
      <> <> <1358966729959> <BEA-000000> <[roid:-1772481434088297851] Unable to create secondary on null>
      ####<Jan 23, 2013 4:45:31 PM BRST> <Debug> <ReplicationDetails> <de25503> <server-1> <[ACTIVE] ExecuteThread: '5' for queue: >'weblogic.kernel.Default (self-tuning)'>
      After eliminate all possible issues with my webapp (serialization, weblogic descriptor configuration, etc) and try many cluster network configurations I noticed that this problem only occurs when I use Unicast for Cluster's Messaging.

      At the end of the day I really would like to understand why the session replication only works for Cluster's Messaging using Multicast mode. I read a lot the WLS docs (specifically the cluster/network topics) [1][2], but I can't find an official explanation about this.

      Can someone help me understand this behavior?

      Many thanks.

      [1] http://docs.oracle.com/cd/E15523_01/web.1111/e13701/network.htm
      [2] http://docs.oracle.com/cd/E15523_01/web.1111/e13709/setup.htm