Geo: Race condition when syncing mutable data types in SSF
We solved this for project/wiki Git repos in !6161 (merged).
But we don't have a similar "mark synced atomically" in the new Geo framework.
If the race occurs, then the registry looks like it's "synced" even though it's not. Then, verification will fail.
Possible solution
I think we need to make registry.synced!
return falsey
by updating the row atomically and failing to do so if last_synced_at
has changed.
This only matters for mutable data types, but it may as well be implemented in ReplicableRegistry
.
To do
Edited by Douglas Barbosa Alexandre