MCPcopy
hub / github.com/dgraph-io/dgraph / HealthCheck

Method HealthCheck

dgraphtest/local_cluster.go:729–782  ·  view source on GitHub ↗
(zeroOnly bool)

Source from the content-addressed store, hash-verified

727}
728
729func (c *LocalCluster) HealthCheck(zeroOnly bool) error {
730 log.Printf("[INFO] checking health of containers")
731 var wg sync.WaitGroup
732 errChan := make(chan error, len(c.zeros)+len(c.alphas))
733
734 for _, zo := range c.zeros {
735 if !zo.isRunning {
736 break
737 }
738 wg.Add(1)
739 go func(z *zero) {
740 defer wg.Done()
741 if err := c.containerHealthCheck(z.healthURL); err != nil {
742 errChan <- err
743 return
744 }
745 log.Printf("[INFO] container [%v] passed health check", z.containerName)
746
747 if err := c.checkDgraphVersion(z.containerName); err != nil {
748 errChan <- err
749 }
750 }(zo)
751 }
752
753 if !zeroOnly {
754 for _, aa := range c.alphas {
755 if !aa.isRunning {
756 break
757 }
758 wg.Add(1)
759 go func(a *alpha) {
760 defer wg.Done()
761 if err := c.containerHealthCheck(a.healthURL); err != nil {
762 errChan <- err
763 return
764 }
765 log.Printf("[INFO] container [%v] passed health check", a.containerName)
766
767 if err := c.checkDgraphVersion(a.containerName); err != nil {
768 errChan <- err
769 }
770 }(aa)
771 }
772 }
773
774 wg.Wait()
775 close(errChan)
776
777 for err := range errChan {
778 return err
779 }
780
781 return nil
782}
783
784func (c *LocalCluster) containerHealthCheck(url func(c *LocalCluster) (string, error)) error {
785 endpoint, err := url(c)

Callers 15

TestBulkLoadVectorIndexFunction · 0.95
TestVectorSnapshotFunction · 0.95
StartMethod · 0.95
waitForClusterReadyFunction · 0.80
waitForClusterStableFunction · 0.80

Calls 5

containerHealthCheckMethod · 0.95
checkDgraphVersionMethod · 0.95
WaitMethod · 0.80
AddMethod · 0.45
DoneMethod · 0.45

Tested by 15

TestBulkLoadVectorIndexFunction · 0.76
TestVectorSnapshotFunction · 0.76
waitForClusterReadyFunction · 0.64
waitForClusterStableFunction · 0.64
retryHealthCheckFunction · 0.64