in pkg/seata/synchronizers.go [98:118]
func SyncRaftCluster(ctx context.Context, s *seatav1alpha1.SeataServer, username string, password string) error {
logger := log.FromContext(ctx)
group, childContext := errgroup.WithContext(ctx)
for i := int32(0); i < s.Spec.Replicas; i++ {
finalI := i
group.Go(func() error {
select {
case <-childContext.Done():
return nil
default:
err := changeCluster(s, finalI, username, password)
if err != nil {
logger.Error(err, fmt.Sprintf("fail to SyncRaftCluster at %d-th pod", finalI))
}
return err
}
})
}
return group.Wait()
}