Return 400 instead of 502 when VictoriaLogs rejects a query

A malformed LogsQL query is a user error, not a server failure.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
cedricandClaude Opus 5.5 committed 2026-09-28 16:34:00 +02:00
1 parent 328384032b
commit aad0fb7c16
3 files changed
+24 -5

No files matched your search

+3 -3
View File
@@ -75,7 +75,7 @@ func (a *API) logs(w http.ResponseWriter, r *http.Request) {
start := time.Now()
rows, err := a.store.Query(r.Context(), q)
if err != nil {
writeErr(w, http.StatusBadGateway, err)
writeErr(w, queryStatus(err), err)
return
}
a.annotateHosts(rows)
@@ -105,7 +105,7 @@ func (a *API) histogram(w http.ResponseWriter, r *http.Request) {
q := filter + " | stats by (_time:" + step.expr + ") count() hits | sort by (_time)"
rows, err := a.store.Query(r.Context(), q)
if err != nil {
writeErr(w, http.StatusBadGateway, err)
writeErr(w, queryStatus(err), err)
return
}
type bucket struct {
@@ -168,7 +168,7 @@ func (a *API) facets(w http.ResponseWriter, r *http.Request) {
q := "_time:7d | stats by (" + field + ") count() hits | sort by (hits desc) | limit 300"
rows, err := a.store.Query(r.Context(), q)
if err != nil {
writeErr(w, http.StatusBadGateway, err)
writeErr(w, queryStatus(err), err)
return
}
vals := make([]string, 0, len(rows))