-
Bug
-
Resolution: Done
-
Critical
-
7.2.1.Final
BaseRpcInterceptor.shouldInvokeRemoteTxCommand forces the replication of transactional commands if the topology id changed since the start of the transaction. However, this can also apply for transaction used internally to apply state during state transfer.
For a state transfer tx, the collection of affected keys is empty, but ReplicationLogic.getOwners(Collection) returns null instead of Collections.emptySet(), and the prepare/commit command ends up being replicated to all the other nodes.
The extra RPC sometimes causes failures in ReplCommandRetryTest.