func SyncRaftCluster()

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()
}