Skip to content
Snippets Groups Projects
Commit b58cd78c authored by Cameron Sparr's avatar Cameron Sparr
Browse files

Use errchan in redis input plugin

this may address, or at least log issue #1462
parent dabb6f54
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@ import (
"time"
"github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/internal/errchan"
"github.com/influxdata/telegraf/plugins/inputs"
)
......@@ -96,9 +97,7 @@ func (r *Redis) Gather(acc telegraf.Accumulator) error {
}
var wg sync.WaitGroup
var outerr error
errChan := errchan.New(len(r.Servers))
for _, serv := range r.Servers {
if !strings.HasPrefix(serv, "tcp://") || !strings.HasPrefix(serv, "unix://") {
serv = "tcp://" + serv
......@@ -123,13 +122,12 @@ func (r *Redis) Gather(acc telegraf.Accumulator) error {
wg.Add(1)
go func(serv string) {
defer wg.Done()
outerr = r.gatherServer(u, acc)
errChan.C <- r.gatherServer(u, acc)
}(serv)
}
wg.Wait()
return outerr
return errChan.Error()
}
func (r *Redis) gatherServer(addr *url.URL, acc telegraf.Accumulator) error {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment