From 1dbe3b823159afa63969592c99254c8be0cc2371 Mon Sep 17 00:00:00 2001 From: Kane Dou Date: Tue, 17 May 2016 18:02:51 +0800 Subject: [PATCH] fix mongodb input concurrent map read/write closes #1211 --- CHANGELOG.md | 1 + plugins/inputs/mongodb/mongodb.go | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e0e2fa32c..9c0e95539 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ### Bugfixes - [#1195](https://github.com/influxdata/telegraf/pull/1195): Docker panic on timeout. Thanks @zstyblik! +- [#1211](https://github.com/influxdata/telegraf/pull/1211): mongodb input. Fix possible panic. Thanks @kols! ## v0.13 [2016-05-11] diff --git a/plugins/inputs/mongodb/mongodb.go b/plugins/inputs/mongodb/mongodb.go index 381814531..f38fa31ef 100644 --- a/plugins/inputs/mongodb/mongodb.go +++ b/plugins/inputs/mongodb/mongodb.go @@ -69,10 +69,10 @@ func (m *MongoDB) Gather(acc telegraf.Accumulator) error { } } wg.Add(1) - go func() { + go func(srv *Server) { defer wg.Done() - outerr = m.gatherServer(m.getMongoServer(u), acc) - }() + outerr = m.gatherServer(srv, acc) + }(m.getMongoServer(u)) } wg.Wait()