Browse Source

elasticsearch: sort bucket keys to fix issue wth response parser tests

Marcus Efraimsson 7 years ago
parent
commit
38906acda9
1 changed files with 10 additions and 3 deletions
  1. 10 3
      pkg/tsdb/elasticsearch/response_parser.go

+ 10 - 3
pkg/tsdb/elasticsearch/response_parser.go

@@ -113,15 +113,22 @@ func (rp *responseParser) processBuckets(aggs map[string]interface{}, target *Qu
 				}
 				}
 			}
 			}
 
 
-			for k, v := range esAgg.Get("buckets").MustMap() {
-				bucket := simplejson.NewFromAny(v)
+			buckets := esAgg.Get("buckets").MustMap()
+			bucketKeys := make([]string, 0)
+			for k := range buckets {
+				bucketKeys = append(bucketKeys, k)
+			}
+			sort.Strings(bucketKeys)
+
+			for _, bucketKey := range bucketKeys {
+				bucket := simplejson.NewFromAny(buckets[bucketKey])
 				newProps := make(map[string]string, 0)
 				newProps := make(map[string]string, 0)
 
 
 				for k, v := range props {
 				for k, v := range props {
 					newProps[k] = v
 					newProps[k] = v
 				}
 				}
 
 
-				newProps["filter"] = k
+				newProps["filter"] = bucketKey
 
 
 				err = rp.processBuckets(bucket.MustMap(), target, series, table, newProps, depth+1)
 				err = rp.processBuckets(bucket.MustMap(), target, series, table, newProps, depth+1)
 				if err != nil {
 				if err != nil {