-
1. Re: When does the transaction manager log transaction info to the object store?
tomjenkinson Mar 12, 2012 5:29 AM (in response to prakkarp)Hi Prakash,
There are a number of implementations of the object store which all follow the same algorithm to persist data to the object store.
The entries in the object store are the state of the transaction in order to fulfil requirements of recovery in the case of a crash of the transaction manager or recovery managers.
I can recommend you to take a read through: com.arjuna.ats.arjuna.coordinator.BasicAction
It shows the points when records (e.g. XAResource) are added to the transaction (BasicAction) and when these are saved or the state of the transaction is saved.
Hope that helps,
Tom
PS If there is a specific query about a specific state saved at a specific point I will be happy to get that information to you
-
2. Re: When does the transaction manager log transaction info to the object store?
prakkarp Mar 12, 2012 6:38 AM (in response to tomjenkinson)Thanks Tom. Will read through com.arjuna.ats.arjuna.coordinator.BasicAction.
Basically i wanted to know if there will be any information corresponding to a transaction in the object store before the prepare phase.
-
3. Re: When does the transaction manager log transaction info to the object store?
tomjenkinson Mar 12, 2012 6:51 AM (in response to prakkarp)I see, the answer to that is no.
To check this yourself, you want to be looking for calls to save_state, the first time it is called is in prepare and subsequent calls are via "updateState()".
Hope that clarifies,
Tom
-
4. Re: When does the transaction manager log transaction info to the object store?
mmusgrov Mar 12, 2012 7:20 AM (in response to tomjenkinson)1 of 1 people found this helpfulThe reason we don't write anything until after all participants have prepared sucessfully is that we implement what's refered to as presumed abort for JTA transactions (you could google it for more details or read one of the books on 2PC transactions). This way we can save a log write and end up with much better throughput.