If I setup XA transactions in ClusteredQueryDslConditionsTest using
the test fails. The reason is in deadlock while updating ScopedKey in _cluster_registry_cache_ : It seems that on originator we create transaction with modified inserted key and the ScopedKey for inserted class, and send it in two prepare commands to the other node. In the ScopedKey-prepare, the lock is acquired, but the regular prepare on the other node does not see it (it is not committed yet) and also tries to update this ScopedKey in _cluster_registry_cache_ . This fails with lock timeout, as the commit is waiting on the regular prepare to finish.