mirror of
https://github.com/grafana/loki.git
synced 2026-03-13 09:33:58 +08:00
fix(server): return status bad request code for interval limit error (#19895)
This commit is contained in:
committed by
GitHub
parent
905eac851f
commit
f21f5d545f
@@ -90,6 +90,7 @@ func ClientHTTPStatusAndError(err error) (int, error) {
|
||||
case errors.As(err, &queryErr):
|
||||
return http.StatusBadRequest, err
|
||||
case errors.Is(err, logqlmodel.ErrLimit) ||
|
||||
errors.Is(err, logqlmodel.ErrIntervalLimit) ||
|
||||
errors.Is(err, logqlmodel.ErrParse) ||
|
||||
errors.Is(err, logqlmodel.ErrPipeline) ||
|
||||
errors.Is(err, logqlmodel.ErrBlocked) ||
|
||||
|
||||
@@ -44,6 +44,7 @@ func Test_writeError(t *testing.T) {
|
||||
{"mixed context and rpc deadline", util.MultiError{context.DeadlineExceeded, status.New(codes.DeadlineExceeded, context.DeadlineExceeded.Error()).Err()}, ErrDeadlineExceeded, http.StatusGatewayTimeout},
|
||||
{"mixed context, rpc deadline and another", util.MultiError{errors.New("standard error"), context.DeadlineExceeded, status.New(codes.DeadlineExceeded, context.DeadlineExceeded.Error()).Err()}, "3 errors: standard error; context deadline exceeded; rpc error: code = DeadlineExceeded desc = context deadline exceeded", http.StatusInternalServerError},
|
||||
{"parse error", logqlmodel.ParseError{}, "parse error : ", http.StatusBadRequest},
|
||||
{"interval limit", logqlmodel.ErrIntervalLimit, logqlmodel.ErrIntervalLimit.Error(), http.StatusBadRequest},
|
||||
{"httpgrpc", httpgrpc.Errorf(http.StatusBadRequest, "%s", errors.New("foo").Error()), "foo", http.StatusBadRequest},
|
||||
{"internal", errors.New("foo"), "foo", http.StatusInternalServerError},
|
||||
{"query error", storage_errors.ErrQueryMustContainMetricName, storage_errors.ErrQueryMustContainMetricName.Error(), http.StatusBadRequest},
|
||||
|
||||
Reference in New Issue
Block a user