mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Chore: Return influxdb query error early before parsing the result (#88549)
return error early
This commit is contained in:
parent
170d476bdc
commit
a87c155c06
@ -23,10 +23,6 @@ func ResponseParse(buf io.ReadCloser, statusCode int, query *models.Query) *back
|
|||||||
func parse(buf io.Reader, statusCode int, query *models.Query) *backend.DataResponse {
|
func parse(buf io.Reader, statusCode int, query *models.Query) *backend.DataResponse {
|
||||||
response, jsonErr := parseJSON(buf)
|
response, jsonErr := parseJSON(buf)
|
||||||
|
|
||||||
if statusCode/100 != 2 {
|
|
||||||
return &backend.DataResponse{Error: fmt.Errorf("InfluxDB returned error: %s", response.Error)}
|
|
||||||
}
|
|
||||||
|
|
||||||
if jsonErr != nil {
|
if jsonErr != nil {
|
||||||
return &backend.DataResponse{Error: jsonErr}
|
return &backend.DataResponse{Error: jsonErr}
|
||||||
}
|
}
|
||||||
|
@ -174,6 +174,11 @@ func execute(ctx context.Context, tracer trace.Tracer, dsInfo *models.Datasource
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return backend.DataResponse{}, err
|
return backend.DataResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if res.StatusCode/100 != 2 {
|
||||||
|
return backend.DataResponse{Error: fmt.Errorf("InfluxDB returned error: %v", res.Body)}, nil
|
||||||
|
}
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := res.Body.Close(); err != nil {
|
if err := res.Body.Close(); err != nil {
|
||||||
logger.Warn("Failed to close response body", "err", err)
|
logger.Warn("Failed to close response body", "err", err)
|
||||||
|
@ -23,10 +23,6 @@ func ResponseParse(buf io.ReadCloser, statusCode int, query *models.Query) *back
|
|||||||
iter := jsoniter.Parse(jsoniter.ConfigDefault, buf, 1024)
|
iter := jsoniter.Parse(jsoniter.ConfigDefault, buf, 1024)
|
||||||
r := converter.ReadInfluxQLStyleResult(iter, query)
|
r := converter.ReadInfluxQLStyleResult(iter, query)
|
||||||
|
|
||||||
if statusCode/100 != 2 {
|
|
||||||
return &backend.DataResponse{Error: fmt.Errorf("InfluxDB returned error: %s", r.Error)}
|
|
||||||
}
|
|
||||||
|
|
||||||
// The ExecutedQueryString can be viewed in QueryInspector in UI
|
// The ExecutedQueryString can be viewed in QueryInspector in UI
|
||||||
for i, frame := range r.Frames {
|
for i, frame := range r.Frames {
|
||||||
if i == 0 {
|
if i == 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user