Guys,
We are currently testing JBoss 4.0.1 with clustering, and so far we only have one issue left; long-running transactions.
It is not an option to avoid long-running transactions in our set-up unfortunately. All the long-running transactions runs in batch-mode, and some of them are really long! 5+ minutes at least.
Enough of the blabla talk, and on with the actual problem.
Set-up:
Env:
2 (some intstallations 4)*Linux RH Enterprise
JBoss 4.0.1
<a lot of other stuff like Apache, load directors, firewalls etc..)>
Client comnnect: HAJNDI:1100
Suppose we have the 2*node setup
Server A
Server B
Client connects to cluster -----> Server A wins
Server A:
- starts to run the batch
- Breaks down
Server B:
- Get the request from cluster ----> restarts the batch
- Server A is restarted ---> part of the cluster
- Server B breaks down
And now----> client fails! ---> must restart batch from client
This only happens with long-running tx.
So it looks like the servers in the cluster are chained in a linked-list sort of way, and not a circular list.
Is it possible to solve this issue by tweaking some configs, or must the client be re-written to accept such behaviour from Jboss, even if JBoss runs in clustered mode?
One obvious solution would be add more nodes to the 2*nodes configuration, but that is not entirely up to us unfortunately...