-
60. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 11:57 AM (in response to jmesnil)Jeff Mesnil wrote:
ok, to sum up: at no point we had both the TransactionActiveUnitTestCase and the TCK pass.
there is no time to rollback to have both correct, right?
We could rollback to "fix" TransactionActiveUnitTestCase but this will break the TCK.
However the current code pass both tests at the price of injecting the JTA TM into our RA (like JBoss generic RA is doing).
is that correct?
Correct!
-
61. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 11:58 AM (in response to clebert.suconic)There is a difference with the old RA though. There's a strong reference to the TM. In our case it is injected and optional.
-
62. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
timfox Jun 14, 2010 11:58 AM (in response to clebert.suconic)We roll back to when the AS test was passing, then we fix the TCK test.
In order to fix a TCK test it is not necessary to know app server specific details.
-
63. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 12:00 PM (in response to timfox)What part of there are only two ways to fix this you didn't understand?
I - Interact with TM
II - Having the TM sending us a failure
Actually a III - Remove the test.. but that will only throw the dirt under that rug.
-
64. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 12:06 PM (in response to timfox)In order to fix a TCK test it is not necessary to know app server specific details.
It's not the first time I said this. The TM interaction is to fix the JBoss Test, not the TCK.
To fix the TCK I placed this line back on HornetQRAXAResource:
public void end(final Xid xid, final int flags) throws XAException{if (HornetQRAXAResource.trace){HornetQRAXAResource.log.trace("end(" + xid + ", " + flags + ")");}managedConnection.lock();try{xaResource.end(xid, flags);}finally{**** managedConnection.setInManagedTx(false); **** <<<< <this linemanagedConnection.unlock();}}To fix the JBoss Testcase:
if (there is a TM in place, and if there is a TX installed).. use the XASession
-
65. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
ataylor Jun 14, 2010 12:26 PM (in response to clebert.suconic)IMO TCK is the most important thing so why not, speak to fernando and see if he would be happy to release with this one test failing, the test is actually quite an edge case caused by poor user code anyway. If Fernando is ok with this, comment out the test, raise a jira, remove cleberts tm stuff, release 2.1.1 and then investigate when we have a bit more time (get the tx boys involved) and go from there.
-
66. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 12:29 PM (in response to ataylor)Timed out session are certainly valid use cases.
If we don't protect it somehow, we won't be able to guarantee ACID when the TX is timed out.
-
67. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
ataylor Jun 14, 2010 12:33 PM (in response to clebert.suconic)i didnt say it wasnt valid, i said it was an edge case.
-
68. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 12:35 PM (in response to ataylor)Andy Taylor wrote:
IMO TCK is the most important thing so why not, speak to fernando and see if he would be happy to release with this one test failing, the test is actually quite an edge case caused by poor user code anyway. If Fernando is ok with this, comment out the test, raise a jira, remove cleberts tm stuff, release 2.1.1 and then investigate when we have a bit more time (get the tx boys involved) and go from there.
I would be happy to remove the lookup on TX if the TM guys could send us end(FAIL). I would do it at a later point and just release it now.
I don't think we should release it with this failure. This is for the EAP.
-
69. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
timfox Jun 14, 2010 2:04 PM (in response to clebert.suconic)Andy/Clebert - please roll back to pre-session caching changes, so the AS test suite passes.
We'll then fix the TCK test in a way that is portable
-
70. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 2:30 PM (in response to timfox)That will send us back in circles...
I - We would need to revert https://jira.jboss.org/browse/HORNETQ-328
i.e. make HornetQ XASession to behave as a non-transactional.
II - At the end we would need to either fix the TransactionManager on interact with it.
*There is no way to fix TransactionActiveUnitTestCase without involving the TM somehow. (By fixint it or interacting with it).
I think I made my point very clear. If you want to ignore the warning and spend the whole week fixing an issue that didn't exist.. that's fine.
-
71. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
timfox Jun 14, 2010 2:36 PM (in response to clebert.suconic)Clebert Suconic wrote:
*There is no way to fix TransactionActiveUnitTestCase without involving the TM somehow. (By fixint it or interacting with it).
That's simply not true.
That test used to pass when the AS6 integration was done, and at that point your hack which interacts with the tx mgr didn't exist. So clearly the test can pass without involving the TM.
-
72. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 2:41 PM (in response to timfox)"That test used to pass when the AS6 integration was done"
Look at the latest post Jeff made, and I've already said this quite a few times:
We never had the TCK and the test passing at a single point up to this point.
Without the TM interaction you can choose if you want the TCK or the Test fixed.
You can't have both unless you change or interact with the TM.
That's pretty clear already!
-
73. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
timfox Jun 14, 2010 2:43 PM (in response to clebert.suconic)Instead of spending the whole day arguing about this, you could have fixed it properly in that time.
Let me spell this out:
Revert back to pre-session caching, this will mean the *AS test passes*.
The TCK test will then fail.
So then you need to fix the TCK test. This needs to be fixed in a *portable* way.
No hacks!
-
74. Re: Regression on AS6 org.jboss.test.jca.test.TransactionActiveUnitTestCase
clebert.suconic Jun 14, 2010 2:48 PM (in response to timfox)"So then you need to fix the TCK test. This needs to be fixed in a *portable* way."
That doesn't fix the issue.. if we revert the caching we still don't know when a timeout happened:
I'm a broken record now:
If I revert the Session, then we will still have the same issue. There's no change.
We don't know when a timeout happened. There's no way unless you interace with the TM, or change the TM to send us an error.
That's my last post on this thread!