diff --git a/pkg/es/cluster.go b/pkg/es/cluster.go index a7e2988..bab963b 100644 --- a/pkg/es/cluster.go +++ b/pkg/es/cluster.go @@ -104,15 +104,33 @@ func getClusterStatus(conf *cfg.Config) (*apiResponse, error) { wg := &sync.WaitGroup{} wg.Add(gocount) - go getApiData(conf, es, wg, responses, "health") - go getApiData(conf, es, wg, responses, "healthreport") - go getApiData(conf, es, wg, responses, "info") - go getApiData(conf, es, wg, responses, "ccr") - go getApiData(conf, es, wg, responses, "indices") - go getApiData(conf, es, wg, responses, "tasks") + + wg.Go(func() { + getApiData(conf, es, responses, "health") + }) + + wg.Go(func() { + getApiData(conf, es, responses, "healthreport") + }) + + wg.Go(func() { + getApiData(conf, es, responses, "info") + }) + + wg.Go(func() { + getApiData(conf, es, responses, "ccr") + }) + + wg.Go(func() { + getApiData(conf, es, responses, "indices") + }) + + wg.Go(func() { + getApiData(conf, es, responses, "tasks") + }) if conf.Verbose { - go getApiData(conf, es, wg, responses, "stats") + getApiData(conf, es, responses, "stats") } wg.Wait() diff --git a/pkg/es/ilm_forecast.go b/pkg/es/ilm_forecast.go index ee659e1..a70f9da 100644 --- a/pkg/es/ilm_forecast.go +++ b/pkg/es/ilm_forecast.go @@ -186,11 +186,18 @@ func virtualAge(phase *PhaseData) time.Duration { func getIlmPhaseData(conf *cfg.Config) ([]PhaseData, error) { responses := make(chan apiResponse, 3) wg := &sync.WaitGroup{} - wg.Add(3) - go getApiData(conf, conf.DefaultCluster.ES(), wg, responses, "indicesbytes") - go getApiData(conf, conf.DefaultCluster.ES(), wg, responses, "explain") - go getApiData(conf, conf.DefaultCluster.ES(), wg, responses, "policies") + wg.Go(func() { + getApiData(conf, conf.DefaultCluster.ES(), responses, "indicesbytes") + }) + + wg.Go(func() { + getApiData(conf, conf.DefaultCluster.ES(), responses, "explain") + }) + + wg.Go(func() { + getApiData(conf, conf.DefaultCluster.ES(), responses, "policies") + }) wg.Wait() diff --git a/pkg/es/parallel.go b/pkg/es/parallel.go index 7d41046..17507d6 100644 --- a/pkg/es/parallel.go +++ b/pkg/es/parallel.go @@ -19,7 +19,6 @@ package es import ( "context" "fmt" - "sync" "codeberg.org/scip/esctl/pkg/cfg" "github.com/elastic/go-elasticsearch/v9" @@ -64,10 +63,8 @@ type apiResponse struct { func getApiData( conf *cfg.Config, es *elasticsearch.TypedClient, - wg *sync.WaitGroup, reschan chan apiResponse, which string) { - defer wg.Done() apiRes := apiResponse{}