This is an invalid config. If some nodes use transactions, all nodes must have transactions enabled.
Thanks for the reply Manik.
A couple of points about this -
1. Even when I configure transactions in cache B and run the above steps, 'keyX' does not get removed. Note that I do not actually begin any transaction in Node B. This is a valid use-case where depending on the user operation a node may or may not want to start a tx.
Also, puts/gets etc seem to work just fine with the above configuration. I've just noticed the problem with 'remove'.
2. I would actually think that it should be a valid use-case that some nodes support tx and others do not. I understand that this is not supported today but do you think it should be in the future?
3. If this is an invalid config, it would be nice if it fails on startup of the 2nd cache. I have seen Infinispan fail-fast in a number of instances where config is invalid.
If it still fails, do you have a unit test to replicate this behaviour?