From 16c3566a873ed7327604f09f88bff7d6a8d90bcb Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Wed, 23 May 2018 22:57:46 +0200 Subject: [PATCH] elasticsearch: handle NaN values --- pkg/tsdb/elasticsearch/response_parser.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/pkg/tsdb/elasticsearch/response_parser.go b/pkg/tsdb/elasticsearch/response_parser.go index 029b2e02142..4a45d6271b9 100644 --- a/pkg/tsdb/elasticsearch/response_parser.go +++ b/pkg/tsdb/elasticsearch/response_parser.go @@ -490,10 +490,14 @@ func castToNullFloat(j *simplejson.Json) null.Float { return null.FloatFrom(f) } - s, err := j.String() - if err == nil { - v, _ := strconv.ParseFloat(s, 64) - return null.FloatFromPtr(&v) + if s, err := j.String(); err == nil { + if strings.ToLower(s) == "nan" { + return null.NewFloat(0, false) + } + + if v, err := strconv.ParseFloat(s, 64); err == nil { + return null.FloatFromPtr(&v) + } } return null.NewFloat(0, false)