[v10.0.x] Alerting: Exclude expression refIDs from NoData state (#72394)

* Alerting: Exclude expression refIDs from NoData state (#72219)

(cherry picked from commit 5ba164d92b)

* use expr.IsDatasource

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
This commit is contained in:
grafana-delivery-bot[bot]
2023-07-26 12:45:27 -04:00
committed by GitHub
co-authored by Yuri Tseretyan
parent 1389f0f6f6
commit f848c9dd77
2 changed files with 9 additions and 3 deletions
+1 -3
View File
@@ -322,8 +322,6 @@ func queryDataResponseToExecutionResults(c models.Condition, execResp *backend.Q
for _, next := range c.Data {
datasourceUIDsForRefIDs[next.RefID] = next.DatasourceUID
}
// datasourceExprUID is a special DatasourceUID for expressions
datasourceExprUID := strconv.FormatInt(expr.DatasourceID, 10)
result := ExecutionResults{Results: make(map[string]data.Frames)}
for refID, res := range execResp.Responses {
@@ -345,7 +343,7 @@ func queryDataResponseToExecutionResults(c models.Condition, execResp *backend.Q
hasNoFrames := len(res.Frames) == 0
hasNoFields := len(res.Frames) == 1 && len(res.Frames[0].Fields) == 0
if hasNoFrames || hasNoFields {
if s, ok := datasourceUIDsForRefIDs[refID]; ok && s != datasourceExprUID {
if s, ok := datasourceUIDsForRefIDs[refID]; ok && !expr.IsDataSource(s) {
result.NoData[refID] = s
}
}
+8
View File
@@ -561,11 +561,19 @@ func TestEvaluate(t *testing.T) {
Data: []models.AlertQuery{{
RefID: "A",
DatasourceUID: "test",
}, {
RefID: "B",
DatasourceUID: expr.DatasourceUID,
}, {
RefID: "C",
DatasourceUID: expr.OldDatasourceUID,
}},
},
resp: backend.QueryDataResponse{
Responses: backend.Responses{
"A": {Frames: nil},
"B": {Frames: []*data.Frame{{Fields: nil}}},
"C": {Frames: nil},
},
},
expected: Results{{