Jonathan Halliday commented on JBTM-390:
re: the jdbc tests.
Most tests use two db accounts. They get the connection info from a properties file, which
is machine (testnode) specific. They construct table and other identifier names using the
username from that file. By giving each node its own pair of db accounts, they therefore
don't interfere with eachother when running tests simultaneously. That's a
surprisingly common case, as it's typical to initiate a test run spanning multiple
nodes (e.g. different O/S).
On the up side this is flexible enough that we can do clever stuff like splitting a test
over two nodes and having them actually use the same accounts, to simulate e.g. a
distributed tx with nodes connecting to a shared db. On the down side, we need lots of db
accounts set up and can use only test nodes that have been configured. This is ok for the
DTF, which has a stable set of 10 nodes. It's a pain for hudson, which has lots more.
Therefore, the following changes will be made:
1) Table and other identifier names will be done through a utility function to provide a
single point where we can change the strategy. Initially the change will be: include the
node name (hostname, with some munging because e.g. '-' is ok in hostnames but not
some db's identifiers) in the table name, in addition to the username. This actually
changes the semantics of the tests somewhat, but only for multinode cases like the one
described above, which we don't currently run anyhow.
2) The mechanism for reading properties file will be extended so that if it does not find
a properties file for the named host on which it's running, it will use a default one.
Thus DTF nodes can remain unchanged, whilst hudson slave nodes will share a single pair of
db accounts but not conflict because of the table naming strategy change.
That leaves the problem of getting the db drivers in the first place, which is for another
add ability to run DTF tests locally without DTF server
Project: JBoss Transaction Manager
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: Release Process, Testing
Affects Versions: 4.4.CR1
Reporter: Jonathan Halliday
Assignee: Jonathan Halliday
Fix For: 4.7
JBossTS has a substantial investment in DTF tests. However, running these is a complex
process, involving building and deploying to a pre-configured DTF instance or installing
the DTF locally on the developer's workstation, including tomcat, mysql etc.
Now the DTF is open source and the tests are likewise in the public repository, it would
be nice for developers to be able to run them with less hassle, much like unit tests.
This issue is tightly integrated with DTF-4, which covers provision of the necessary
functionality in DTF.
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
For more information on JIRA, see: http://www.atlassian.com/software/jira