3 Replies Latest reply: Jul 7, 2014 9:57 AM by Todd Little-Oracle RSS

    Using NETLOAD with domains

    Per Lindström

      Hi all,

       

      Consider a scenario where there is an MP Tuxedo domain (for availability reasons, scalability is not the issue here). Each machine has a GWTDOMAIN for handling incoming calls from WLS servers using WTC. Each machine is also connected to a remote IBM mainframe by means of a GWSNAX server.

       

      The WLS servers utilize WTC failover between the GWTDOMAIN:s on machine A and B, which means that all calls will go to machine A as long as its GWTDOMAIN is available, else it will use GWTDOMAIN on machine B instead.

       

      Now here's the catch: The incoming calls from WLS to the mainframe MUST be executed in order. This means that we can't use load-balancing between the GWTDOMAIN:s in WTC, we only use fail-over.

       

      The problem is that GWTDOMAIN on machine A may choose to load balance the call (originating from the WLS server) between the "local" GWSNAX and the GWSNAX on the other machine, in which case calls might execute out-of-order in the mainframe, #fail...

      In order to avoid this, we have considered using NETLOAD to keep calls on the local machine at all cost. The thing worrying me is that my experience with domain gateways is that the values you see when using pq in tmadmin are mostly rubbish... does this mean that NETLOAD won't work in this case? Or is there a value for NETLOAD that always will be high enough to keep the call on the local machine, as long as the service is still available there? Only when the service is no longer available on the local machine (due to the GWSNAX server having been shut down for maintenance or whatever) calls should be allowed to go the other machine.

       

      Any input on this welcome!

       

      Best regards

      /Per

        • 1. Re: Using NETLOAD with domains
          Jared Li-Oracle

          Per,

           

          You may consider TUXRACGROUPS. Environment variable TUXRACGROUPS allows user to define a "super group" (RAC group) which contains one or multiple Tuxedo groups. All tpcalls within a global transaction will be routed to the same "super group". This feature was designed to Oracle RAC first so the environment variable name contains "RAC", but this feature can be used in other scenario which requires global transaction & Tuxedo groups affinity. In your case you may configure the GWTDOMAIN and GWSNAX running on the same machine in the same RAC group, then You can refer to http://docs.oracle.com/cd/E35855_01/tuxedo/docs12c/ads/adorac.html#wp1058798 for further information.

          This solution has been adopted in a similar customer scenario a couple of years ago.

          • 2. Re: Using NETLOAD with domains
            Per Lindström

            Hi,

             

            thanks for your suggestion. Would this work even when there's no transaction started, or is it an XA-only mechanism? (We don't drive transactions across the mainframe border...)

             

            Best regards,

            /Per

            • 3. Re: Using NETLOAD with domains
              Todd Little-Oracle

              Hi Per,

               

              I don't think TUXRACGROUPS will have any impact on requests that aren't part of a transaction.  Another possibility might be to try client/server affinity.  I'm not certain it works from WTC across domain gateways, but it would be worth a try.  If it doesn't work, I think an enhancement request makes sense as it would be reasonable to have WTC support client/server affinity.

               

              Regards,

              Todd Little

              Oracle Tuxedo Chief Architect