Просмотр исходного кода

elasticsearch: handle NaN values

Marcus Efraimsson 7 лет назад
Родитель
Сommit
16c3566a87
1 измененных файлов с 8 добавлено и 4 удалено
  1. 8 4
      pkg/tsdb/elasticsearch/response_parser.go

+ 8 - 4
pkg/tsdb/elasticsearch/response_parser.go

@@ -490,10 +490,14 @@ func castToNullFloat(j *simplejson.Json) null.Float {
 		return null.FloatFrom(f)
 		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)
 	return null.NewFloat(0, false)