Concurrent transactions, their tests and fixes
While playing with some Endpoints GAE example app, I noticed our non-XG transactions weren’t following the concurrent threads limits — only one transaction per entity group allowed. This quickly shows how you easily miss things when you don’t have proper tests.
In our case setting this concurrency contention is not as easy as it sounds. But … luckily at JBoss we have a tool called Byteman, which is exactly what we’re looking for (and it even came from initially testing concurrency on transactions).
And, as I expected from Aslak, Arquillian already had Byteman support integrated. OK, to be honest, it did need some minor changes to make it work as expected. :-)
Here is the latest download:
The release notes:
And the mentioned GAE TCK concurrent transactions tests:
Feedback welcome as always!