Testsuite should consider situation when resource managers - aka. database or jms broker - are not available right at the time the service is scaled down.
The scenario is like this:
- service is scaled to 2 pods and receiving request load
- there are some indoubt transactions - partly at the side of the JBoss EAP narayana transaction log and partly at side of resouce manager (database, jms broker)
- connection to the database/jms broker is broken and the transactions can't be finished
- ideally we would be here at the state that there is some prepared transaction at the side of the disconnected resource manager but the narayana object store is empty
- service is scaled down to 1. The migration pod needs to be aware of the fact there is not possible to connect to the resource manager and even there could be already empty transaction log at the JBoss EAP side the container it can't throw away the container data.
- The notion about not-finished transactions are stored only at the resource manager side and we need to wait with cleaning the of the node identifier up to time the all in-doubt transactions are resolved at side of the resource manager and at the side of the WFLY app server
The testsuite (I expect the set of tests around the PostgreSQLXARecoveryWithNFSDisconnectLoadTest class) should be enriched with such scenarios.