From 0872eb27918ed07725cb1fb32dc4d4e5784c21e4 Mon Sep 17 00:00:00 2001 From: Andre Pereira Date: Wed, 23 Oct 2024 15:14:40 +0100 Subject: [PATCH] Tempo: Return a not found error if the trace is empty from v2 (#95256) Return a not found error if the trace is empty from v2 --- pkg/tsdb/tempo/trace.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/tsdb/tempo/trace.go b/pkg/tsdb/tempo/trace.go index 35fe74c9d27..5ad83502f82 100644 --- a/pkg/tsdb/tempo/trace.go +++ b/pkg/tsdb/tempo/trace.go @@ -114,6 +114,14 @@ func (s *Service) getTrace(ctx context.Context, pCtx backend.PluginContext, quer return &backend.DataResponse{}, fmt.Errorf("failed to transform trace %v to data frame: %w", model.Query, err) } + if frame == nil { + result.Status = http.StatusNotFound + result.Error = fmt.Errorf("failed to get trace with id: %s Status: %s", *model.Query, result.Status) + span.RecordError(result.Error) + span.SetStatus(codes.Error, result.Error.Error()) + return result, nil + } + frame.Meta.Custom = map[string]interface{}{ "partial": tr.GetStatus() == tempopb.TraceByIDResponse_PARTIAL, "message": tr.GetMessage(),