diff --git a/pkg/distributor/distributor.go b/pkg/distributor/distributor.go index 15a92b5ee234b03b1565decb9d52364e897c2a05..2a7378b6b10f80b350cbd4cec994b803a6fd9a6c 100644 --- a/pkg/distributor/distributor.go +++ b/pkg/distributor/distributor.go @@ -15,6 +15,7 @@ import ( opentracing "github.com/opentracing/opentracing-go" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" + "github.com/weaveworks/common/httpgrpc" "github.com/weaveworks/common/user" "google.golang.org/grpc/health/grpc_health_v1" @@ -221,9 +222,10 @@ func (d *Distributor) Push(ctx context.Context, req *logproto.PushRequest) (*log func (d *Distributor) validateLabels(userID, labels string) error { ls, err := util.ToClientLabels(labels) if err != nil { - return err + return httpgrpc.Errorf(http.StatusBadRequest, err.Error()) } + // everything in `ValidateLabels` returns `httpgrpc.Errorf` errors, no sugaring needed return validation.ValidateLabels(d.overrides, userID, ls) }