Should transactions fail over in JBoss EAP 6 cluster?
Environment
- Red Hat JBoss Enterprise Application Platform
- 6.x
Issue
We have a session on server A, we initiate a http GET within this session, this get starts a transaction within the database.
Server A is then stopped with an in flight transaction still in process in the database, when server B is handed the session details from the now shut down server A we would expect that it would also pick up the details of the in flight transaction and complete the operation.
Resolution
Unfortunately this in-flight transaction failover is not supported in JBoss.
It isn't supported and we would need to make a number of changes to be able to support it.
The expected behaviour for failover is: if the transaction hasn't reached the end of prepare stage during the failover it will just rollback. If the transaction was already prepared then it would be recovered when server A is restarted.
Some reasons as to why we cannot migrate transactions are:
- we store the transaction logs locally (on server A)
- connections to resources (jdbc for example) would fail and there is no cluster mechanism to migrate connections
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
