You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2023/02/20 00:21:08 UTC

[skywalking-banyandb] branch main updated: Fix the broken of schema chain (#251)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-banyandb.git


The following commit(s) were added to refs/heads/main by this push:
     new 1cc0a42b Fix the broken of schema chain (#251)
1cc0a42b is described below

commit 1cc0a42bc41dca9b8f4e1b3c4fd13b283f24f817
Author: Gao Hongtao <ha...@gmail.com>
AuthorDate: Mon Feb 20 08:21:03 2023 +0800

    Fix the broken of schema chain (#251)
---
 pkg/query/logical/measure/measure_plan_aggregation.go              | 7 ++++---
 pkg/query/logical/measure/measure_plan_groupby.go                  | 5 +++--
 test/cases/measure/data/input/top.yaml                             | 2 +-
 test/cases/measure/measure.go                                      | 2 +-
 .../{metrics-top-service-sla.yml => metrics-top-service.yml}       | 0
 test/e2e-v2/cases/storage/storage-cases.yaml                       | 4 +++-
 6 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/pkg/query/logical/measure/measure_plan_aggregation.go b/pkg/query/logical/measure/measure_plan_aggregation.go
index f9fa5cf9..96482bd5 100644
--- a/pkg/query/logical/measure/measure_plan_aggregation.go
+++ b/pkg/query/logical/measure/measure_plan_aggregation.go
@@ -59,7 +59,8 @@ func (gba *unresolvedAggregation) Analyze(measureSchema logical.Schema) (logical
 		return nil, err
 	}
 	// check validity of aggregation fields
-	aggregationFieldRefs, err := prevPlan.Schema().CreateFieldRef(gba.aggregationField)
+	schema := prevPlan.Schema()
+	aggregationFieldRefs, err := schema.CreateFieldRef(gba.aggregationField)
 	if err != nil {
 		return nil, err
 	}
@@ -69,9 +70,9 @@ func (gba *unresolvedAggregation) Analyze(measureSchema logical.Schema) (logical
 	fieldRef := aggregationFieldRefs[0]
 	switch fieldRef.Spec.Spec.FieldType {
 	case databasev1.FieldType_FIELD_TYPE_INT:
-		return newAggregationPlan[int64](gba, prevPlan, measureSchema, fieldRef)
+		return newAggregationPlan[int64](gba, prevPlan, schema, fieldRef)
 	case databasev1.FieldType_FIELD_TYPE_FLOAT:
-		return newAggregationPlan[float64](gba, prevPlan, measureSchema, fieldRef)
+		return newAggregationPlan[float64](gba, prevPlan, schema, fieldRef)
 	default:
 		return nil, errors.WithMessagef(errUnsupportedAggregationField, "field: %s", fieldRef.Spec.Spec)
 	}
diff --git a/pkg/query/logical/measure/measure_plan_groupby.go b/pkg/query/logical/measure/measure_plan_groupby.go
index 9779e859..5a31d035 100644
--- a/pkg/query/logical/measure/measure_plan_groupby.go
+++ b/pkg/query/logical/measure/measure_plan_groupby.go
@@ -57,7 +57,8 @@ func (gba *unresolvedGroup) Analyze(measureSchema logical.Schema) (logical.Plan,
 		return nil, err
 	}
 	// check validity of groupBy tags
-	groupByTagRefs, err := prevPlan.Schema().CreateTagRef(gba.groupBy...)
+	schema := prevPlan.Schema()
+	groupByTagRefs, err := schema.CreateTagRef(gba.groupBy...)
 	if err != nil {
 		return nil, err
 	}
@@ -66,7 +67,7 @@ func (gba *unresolvedGroup) Analyze(measureSchema logical.Schema) (logical.Plan,
 			UnresolvedInput: gba.unresolvedInput,
 			Input:           prevPlan,
 		},
-		schema:          measureSchema,
+		schema:          schema,
 		groupByTagsRefs: groupByTagRefs,
 		groupByEntity:   gba.groupByEntity,
 	}, nil
diff --git a/test/cases/measure/data/input/top.yaml b/test/cases/measure/data/input/top.yaml
index 678db51e..c103d033 100644
--- a/test/cases/measure/data/input/top.yaml
+++ b/test/cases/measure/data/input/top.yaml
@@ -23,7 +23,7 @@ tagProjection:
   - name: "default"
     tags: ["entity_id"]
 fieldProjection:
-  names: ["total", "value"]
+  names: ["value"]
 groupBy:
   tagProjection:
     tagFamilies:
diff --git a/test/cases/measure/measure.go b/test/cases/measure/measure.go
index 4db0b05d..b906d86b 100644
--- a/test/cases/measure/measure.go
+++ b/test/cases/measure/measure.go
@@ -39,7 +39,7 @@ var (
 	}
 )
 
-var _ = g.DescribeTable("Scanning Measures", verify,
+var _ = g.FDescribeTable("Scanning Measures", verify,
 	g.Entry("all", helpers.Args{Input: "all", Duration: 25 * time.Minute, Offset: -20 * time.Minute}),
 	g.Entry("all_only_fields", helpers.Args{Input: "all", Duration: 25 * time.Minute, Offset: -20 * time.Minute}),
 	g.Entry("filter by tag", helpers.Args{Input: "tag_filter", Duration: 25 * time.Minute, Offset: -20 * time.Minute}),
diff --git a/test/e2e-v2/cases/storage/expected/metrics-top-service-sla.yml b/test/e2e-v2/cases/storage/expected/metrics-top-service.yml
similarity index 100%
rename from test/e2e-v2/cases/storage/expected/metrics-top-service-sla.yml
rename to test/e2e-v2/cases/storage/expected/metrics-top-service.yml
diff --git a/test/e2e-v2/cases/storage/storage-cases.yaml b/test/e2e-v2/cases/storage/storage-cases.yaml
index 0dcd9f38..520fbe42 100644
--- a/test/e2e-v2/cases/storage/storage-cases.yaml
+++ b/test/e2e-v2/cases/storage/storage-cases.yaml
@@ -57,8 +57,10 @@ cases:
       )
     expected: expected/trace-users-detail.yml
   # service metrics
+  - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics sorted --name service_apdex 5
+    expected: expected/metrics-top-service.yml
   - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics top --name service_sla 5
-    expected: expected/metrics-top-service-sla.yml
+    expected: expected/metrics-top-service.yml
   - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name=service_sla --service-name=e2e-service-provider |yq e 'to_entries' -
     expected: expected/metrics-has-value.yml
   - query: swctl --display yaml --base-url=http://${oap_host}:${oap_12800}/graphql metrics linear --name=service_cpm --service-name=e2e-service-provider |yq e 'to_entries' -