4 Replies Latest reply: Nov 25, 2013 8:40 AM by Michael Ferrante-Oracle RSS

    Clarification on LBR in front of OHS for Forms - session stickiness

    John Stegeman

      Hello all,

       

      I have a clustered Forms 11gR2 setup across 9 machines. Each of the machines has an OHS and a WLS_FORMSn instance running. The mod_wl_ohs configuration on each box points to all 9 WLS_FORMS instances. In front of this cluster, I have a LBR that is doing SSL termination and then passing http traffic on to one of the OHSs.

       

      As far as I can tell from the official documentation, it is not required for the LBR to implement session stickiness, because the Forms Servlet/Listener Servlet will add information in the response (a cookie?) to tell which WLS_FORMSn server the session exists on and no matter which OHS gets the request from the LBR, it should know which WLS_FORMSn server to pass the request back to.

       

      Is my understanding correct, or do I actually need some type of session stickiness on my LBR (to me this wouldn't make sense at all)?

       

      Thanks,

       

      John

        • 1. Re: Clarification on LBR in front of OHS for Forms - session stickiness
          Christian Erlinger

          As the whole Apache tribe knows every single weblogic server in the cluster a session stickiness wouldn't make sense to me too.

           

          I didn't find any definite answers, but I guess a simple test would be to shutdown one (or all but one) OHS while you are running several forms sessions on several nodes. If the forms sessions running on a node where you shutdown OHS survives this I guess you should have proof that session stickiness isn't necessary.

           

          cheers

          • 2. Re: Clarification on LBR in front of OHS for Forms - session stickiness
            John Stegeman

            Thanks, Christian - that is a good suggestion. The reason I'm asking is that we are getting seemingly sporadic errors that the Forms session has tried to migrate to a different server (which we all know is not possible). We do have a case open with Support, but the documentation is contradicting what they are telling me, so I thought I'd ask for some more insight.

             

            One option that I'm considering is that maybe the timeout in mod_wl_ohs is set too small, and Apache is trying to fail it over when the response doesn't come from WLS fast enough. I remember when OC4J was the bees knees, there was a nifty tool (I think it was called RHAT, I cannot remember) that would show you a graphic view of the topology of a cluster, and you could verify how things were being routed. Apart from setting the DEBUG parameter for mod_wl_ohs and digging through logs, I don't know of a good way of doing this in 11gR2.

             

            Edit: it was called iHat

            • 3. Re: Clarification on LBR in front of OHS for Forms - session stickiness
              Michael Ferrante-Oracle

              John,

               

              Without having a full understanding of the topology I can just make a high level guess.   From the client point of view, all requests sent from CLIENT-1 must always return to the machine and server (OHS, WLS, etc) from where it originated.  So if you have a LB in front of several machines that host a full installation (OHS, WLS, etc) then I would expect to need session binding.  Having said this, as I mentioned, without fully understanding the layout, there may be cases where this might not be needed.  Given the error(s) you mentioned, I suspect you have already answered your question and need to enable session binding.  I would also recommend ensuring you have the latest WLS patches installed as I recall several issues related to session handling that were corrected.  Consider these two WLS patches for 10.3.6:  Patch ID 17071663 & Patch ID 13972486

               

              Contact Oracle Support for questions about these and other patches.

              • 4. Re: Clarification on LBR in front of OHS for Forms - session stickiness
                John Stegeman

                Hi Mike,

                 

                Just to clarify one point that you made - I understand fully that the request needs to return to the same WLS server, but why does it need to return to the same OHS?

                 

                John