TuxedoUsers / Tuxedo-samples

Sample applications using Tuxedo and related products. See the wiki for more details
GNU General Public License v2.0
37 stars 16 forks source link

Add DTP Service to use with RAC bankapp application #10

Open toddinpal opened 9 years ago

toddinpal commented 9 years ago

Without enabling EECS in the options section and using the correct OCI library, it is still necessary to use DTP services in RAC. This is because without EECS, connections from a single Tuxedo group to a non-singleton service might end up on separate instances. This causes problems when resuming a transaction in the group as Tuxedo might attempt to resume the transaction on a different instance, which is prohibited by RAC (XAER_AFFINITY). With EECS enabled on Engineered Systems, the Single Group Multiple Branches option is enabled, which allows different servers in a single group to use separate transaction branches to avoid splitting a branch across instances.

mnemonic01 commented 9 years ago

Hi ToddDo you mean EECS for Tuxedo on Exalogic? Do you have some architecture picture of it?

kind regards Michel Schildmeijer

Date: Mon, 10 Aug 2015 11:04:57 -0700 From: notifications@github.com To: Tuxedo-samples@noreply.github.com Subject: [Tuxedo-samples] Add DTP Service to use with RAC bankapp application (#10)

Without enabling EECS in the options section and using the correct OCI library, it is still necessary to use DTP services in RAC. This is because without EECS, connections from a single Tuxedo group to a non-singleton service might end up on separate instances. This causes problems when resuming a transaction in the group as Tuxedo might attempt to resume the transaction on a different instance, which is prohibited by RAC (XAER_AFFINITY). With EECS enabled on Engineered Systems, the Single Group Multiple Branches option is enabled, which allows different servers in a single group to use separate transaction branches to avoid splitting a branch across instances.

— Reply to this email directly or view it on GitHub.

toddinpal commented 9 years ago

Hi Michel, Yes, EECS as in Exalogic Elastic Cloud Software. It is the set of features that are provided by Tuxedo to maximize performance and availability of Tuxedo applications on Oracle Engineered Systems (Exalogic and Supercluster). Not sure I have an architecture picture as it's really just a set of features. You can read about them in the documentation at http://docs.oracle.com/cd/E53645_01/tuxedo/docs12cr2/exalogic/exalogic.html

mnemonic01 commented 9 years ago

ThanksIs TMFAN not an option to use?Don't know if that meet the issues there are with RAC not using DTP service?

Date: Tue, 11 Aug 2015 05:46:01 -0700 From: notifications@github.com To: Tuxedo-samples@noreply.github.com CC: mnemonic01@hotmail.com Subject: Re: [Tuxedo-samples] Add DTP Service to use with RAC bankapp application (#10)

Hi Michel, Yes, EECS as in Exalogic Elastic Cloud Software. It is the set of features that are provided by Tuxedo to maximize performance and availability of Tuxedo applications on Oracle Engineered Systems (Exalogic and Supercluster). Not sure I have an architecture picture as it's really just a set of features. You can read about them in the documentation at http://docs.oracle.com/cd/E53645_01/tuxedo/docs12cr2/exalogic/exalogic.html

— Reply to this email directly or view it on GitHub.

toddinpal commented 9 years ago

Well TMFAN is also part of EECS. And by itself it doesn't solve the problem split branches. Without Single Group Multiple Branches (SGMB) support, Tuxedo will only use a single branch for a transaction within a server group. Thus if two servers in a single group end up with connections to different RAC instances, it is possible that both servers get used and try to use the same branch. RAC will complain with an XAER_AFFINITY when the second server tries to do an xa_start() with a branch already having been seen by another RAC instance. So to prevent this from occurring without EECS (and thus SGMB) you have to use singleton services. Technically they don't have to be DTP services, but they might as well be as DTP services are guaranteed to be singletons.