Report grpc canceled timeouts as cancelled status and not error (#99981)

This commit is contained in:
Ivana Huckova
2025-02-04 13:31:03 +01:00
committed by GitHub
parent d06d646aa1
commit 6e7e389ee2
2 changed files with 10 additions and 1 deletions

View File

@@ -7,6 +7,9 @@ import (
"net/textproto"
"strings"
grpccodes "google.golang.org/grpc/codes"
grpcstatus "google.golang.org/grpc/status"
"github.com/grafana/grafana-plugin-sdk-go/backend"
"github.com/grafana/grafana/pkg/plugins"
@@ -61,6 +64,10 @@ func (s *Service) QueryData(ctx context.Context, req *backend.QueryDataRequest)
return nil, plugins.ErrPluginRequestCanceledErrorBase.Errorf("client: query data request canceled: %w", err)
}
if s, ok := grpcstatus.FromError(err); ok && s.Code() == grpccodes.Canceled {
return nil, plugins.ErrPluginRequestCanceledErrorBase.Errorf("client: query data request canceled: %w", err)
}
return nil, plugins.ErrPluginDownstreamErrorBase.Errorf("client: failed to query data: %w", err)
}