Asynchronous schema change Because there is no global
membership in F1, we cannot synchronize the schema
change across all F1 servers. In other words, different
F1 servers may transition to using a new schema at
different times.
func (do *Domain) loadSchemaInLoop(ctx context.Context, lease time.Duration) {
defer util.Recover(metrics.LabelDomain, “loadSchemaInLoop”, nil, true)
// Lease renewal can run at any frequency.
// Use lease/2 here as recommend by paper.
ticker := time.NewTicker(lease / 2)