Ticket 48445: keep alive entries can break replication
On the consumer side, at the end of a total update the replica is enabled and the changelog recreated.
When the replica is enabled the keep alive entry (for that replica) is created .
There is a race condition (that look quite systematic in our tests) if the creation of the entry is added to the changelog
before the changelog is recreated.
In that case the ADD is erased from the CL and will never be replicated.
The keep alive entry is created (if it does not already exist) :
- during a total update (as supplier)
- when the keep alive is updated
- when the replica is enabled
It is not strictly necessary to create the keep alive when the replica is enabled.
So we can skip the creation during that step.
Reviewed by: Mark Reynolds (thank you Mark)
Platforms tested: F23
Flag Day: no
Doc impact: no
(cherry picked from commit 71a891f0dcfd1aafeb3913279d42e33ed2355312)
(cherry picked from commit 02af085c2a9c23536c8d276ee35794ec6efc81f5)