Abstract:
A system has at least one requesting application residing upon a requesting application server, a cluster of processing message servers, a resource adapter in the form of executable code being executed by a processor on a first computer, the resource adapter to receive a request from the requesting application; transmit the request to the cluster of processing message servers; monitor processing of the request on the cluster of processing message servers; handling any exception in the processing of the request; and responding to the requesting application when the processing is complete. The system also includes an interposed transaction manager in the form of executable code being executed by a processor, the interposed transaction manager to receive transactional operations associated with the requests, and providing transaction guarantees related to the transactional operations.
Abstract:
In accordance with an embodiment, described herein is a system and method for transaction recovery in a multitenant application server environment. At least one resource manager associated with a partition can be designated as a determiner resource for that partition only, in order to support eliminating transaction logs (TLOG) in processing a two-phase commit transaction. A transaction manager can prepare all other resource managers in the mid-tier transactional system before the determiner resource. Furthermore, the transaction manager can rely on the list of outstanding transactions to be committed that is provided by the determiner resource for recovering the transaction. The transaction manager can commit an in-doubt transaction returned from a resource manager that matches the list of in-doubt transactions returned from the determiner resource. Otherwise, the transaction manager can roll back the in-doubt transaction.
Abstract:
Systems and methods are provided for supporting transaction recovery based on a strict ordering of two-phase commit calls. At least one resource manager in a mid-tier transactional environment can be designated as the “determiner resource,” in order to support eliminating mid-tier transaction logs (TLOG) in processing a two-phase transaction. A transaction manager can prepare all other resource managers in the mid-tier transactional system before the determiner resource. Furthermore, the transaction manager can rely on the list of outstanding transactions to be committed that is provided by the determiner resource for recovering the transaction. The transaction manager can commit an in-doubt transaction returned from a resource manager that matches the list of in-doubt transactions returned from the determiner resource. Otherwise, the transaction manager can roll back the in-doubt transaction.
Abstract:
In accordance with an embodiment, described herein is a system and method for transaction recovery in a multitenant application server environment. At least one resource manager associated with a partition can be designated as a determiner resource for that partition only, in order to support eliminating transaction logs (TLOG) in processing a two-phase commit transaction. A transaction manager can prepare all other resource managers in the mid-tier transactional system before the determiner resource. Furthermore, the transaction manager can rely on the list of outstanding transactions to be committed that is provided by the determiner resource for recovering the transaction. The transaction manager can commit an in-doubt transaction returned from a resource manager that matches the list of in-doubt transactions returned from the determiner resource. Otherwise, the transaction manager can roll back the in-doubt transaction.
Abstract:
In accordance with an embodiment, described herein is a system and method for enabling use of a reactive messaging client in microservice environments. A microservices (e.g., Helidon) environment provides a development framework that enables a software developer to create and use microservices. In accordance with an embodiment, the system can include a reactive messaging API, for use with long-running activities or other types of transactions associated with microservices, which enables the system to additionally support various reactive messaging features, such as, for example, transaction processing, asynchronous messaging, reactive streams, or the use of messaging channels, in a microservices environment.
Abstract:
A system and method for reducing communications overhead in a distributed transaction processing environment such as an XA environment. In accordance with an embodiment communication overhead is reduced in a transaction by deferring a transaction end communication. The deferred transaction end communication is determined from a subsequent XA transaction communication thereby reducing the number of networks calls required for each transaction and enhancing system performance.
Abstract:
In accordance with an embodiment, described herein is a system and method for transaction support in a multitenant application server environment. A system can provide for transaction support via a transaction manager. The transaction manager can be associated with one or more objects, including a configuration object and a runtime object. The configuration object can allow for a partition administrator to override globally-set parameters for transactions, including transaction timeout time. The runtime object can allow for a partition administrator to monitor partition-scoped transaction statistics. Furthermore, the transaction manager can additionally account for resource group migration within the multitenant application server environment.
Abstract:
Systems and methods are provided for supporting transaction recovery based on a strict ordering of two-phase commit calls. At least one resource manager in a mid-tier transactional environment can be designated as the “determiner resource,” in order to support eliminating mid-tier transaction logs (TLOG) in processing a two-phase transaction. A transaction manager can prepare all other resource managers in the mid-tier transactional system before the determiner resource. Furthermore, the transaction manager can rely on the list of outstanding transactions to be committed that is provided by the determiner resource for recovering the transaction. The transaction manager can commit an in-doubt transaction returned from a resource manager that matches the list of in-doubt transactions returned from the determiner resource. Otherwise, the transaction manager can roll back the in-doubt transaction.
Abstract:
Techniques are described for providing a guaranteed commit outcome for global transactions that are optimized by deferring the commit processing to a resource manager, such as a DBMS, using optimizations. The “Distributed Transaction Processing: The XA Specification” standard specification is ambiguous regarding commit outcomes for transactions managed by DBMS, resulting in wrong results for vendors implementing the standard. The techniques described provide a guaranteed commit outcome when using the optimizations, creating the opportunity for safe replay of global transactions when a communication error or timeout occurs between the transaction manager and the resource manager, and eliminating ambiguous transaction outcomes reaching applications and end users.Techniques described herein distinguished between global transactions in a session managed by a transaction manager, and those in the same session that are managed by the resource manager using the optimizations. The techniques provide a guaranteed commit outcome when the commit is managed by the resource manager, or when a transaction manager is managing the transaction. Switching between the different techniques to provide a guaranteed outcome occurs in a safe, performing, and silent manner, based on who controls the current transaction in a session. The solution includes one-phase processing, read only optimizations, and promotable transactions.
Abstract:
A process, apparatus, and computer-readable medium are provided for rebuilding a database session when a previous database session becomes unavailable and the commands previously sent for execution on the previous database session satisfy certain criteria. The process includes determining whether or not a set of commands sent by a client for execution on the previous database session is acceptable to replay based at least in part on whether or not the set of commands satisfies one or more criteria. The process further includes determining that the previous database session is unavailable due to a planned or unplanned recoverable error. In response to determining that the previous database session is unavailable, if the set of commands is acceptable for replay, the set of commands is sent for execution on a new database session to rebuild the state, which was exposed to the client from the previous database session, on the new database session. The process masks the outage from the application.