"timfox" wrote : "clebert.suconic(a)jboss.com" wrote :
| | it won't be possible to retry or rollback the transaction if a timeout
happened during the writeTransaction.
| |
|
| Why?
http://anonsvn.jboss.org/repos/messaging/trunk/src/main/org/jboss/messagi...
| public void appendCommitRecord(final long txID) throws Exception
| {
| if (state != STATE_LOADED)
| {
| throw new IllegalStateException("Journal must be loaded first");
| }
|
| JournalTransaction tx = transactionInfos.remove(txID);
|
| if (tx == null)
| {
| throw new IllegalStateException("Cannot find tx with id " + txID);
| }
|
| JournalFile usedFile = writeTransaction(COMMIT_RECORD, txID, tx);
|
| transactionCallbacks.remove(txID);
|
| tx.commit(usedFile);
|
| }
|
transactionsInfo is removed before writeTransaction is completed.
If the transaction times out, during a retry... you would get the exception thrown by
"cannot find tx with id " + txID, and doesn't seem the right behavior to
me.
I'm writing a testcase where that is failing.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4166299#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...