-
Task
-
Resolution: Obsolete
-
Major
-
None
-
5.2.0.Beta5
-
None
When a node receives a command with a topology id lower than its own topology id, it forwards the command to all the owners in the current topology.
This is especially bad in replicated caches, where all the nodes check whether to forward or not, and after a join we may get n * (n-1) forwarded commands instead of just n.
Most of the time the difference between the current topology id and the command's topology id is <= 1, so we could avoid a lot of the extra forwarding if we kept the previous cache topology and we forwarded the command only to the owners added in the latest topology. Obviously, if the command is older we'd still forward it to all the owners.