From 7e0ff1ee4664d66cf366440e1c3f19f53e6aa1da Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin <valyala@victoriametrics.com> Date: Wed, 18 Sep 2024 18:24:14 +0200 Subject: [PATCH] app/vlselect/logsql: call `Query.Optimize()` on the cloned query in order to replace `*` filter with `filterNoop` inside getLastNQueryResults() Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6785 (cherry picked from commit e86891b010471c2604ef52f002c352c0ca3f5deb) --- app/vlselect/logsql/logsql.go | 3 +++ docs/VictoriaLogs/CHANGELOG.md | 2 ++ 2 files changed, 5 insertions(+) diff --git a/app/vlselect/logsql/logsql.go b/app/vlselect/logsql/logsql.go index 6b25bb4094..241da42559 100644 --- a/app/vlselect/logsql/logsql.go +++ b/app/vlselect/logsql/logsql.go @@ -864,6 +864,9 @@ func getLastNQueryResults(ctx context.Context, tenantIDs []logstorage.TenantID, for { q = qOrig.Clone() q.AddTimeFilter(start, end) + // q.Optimize() call is needed for converting '*' into filterNoop. + // See https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6785#issuecomment-2358547733 + q.Optimize() rows, err := getQueryResultsWithLimit(ctx, tenantIDs, q, limitUpper) if err != nil { return nil, err diff --git a/docs/VictoriaLogs/CHANGELOG.md b/docs/VictoriaLogs/CHANGELOG.md index a96116f885..78209f1e31 100644 --- a/docs/VictoriaLogs/CHANGELOG.md +++ b/docs/VictoriaLogs/CHANGELOG.md @@ -15,6 +15,8 @@ according to [these docs](https://docs.victoriametrics.com/victorialogs/quicksta ## tip +* BUGFIX: properly return logs without [`_msg`](https://docs.victoriametrics.com/victorialogs/keyconcepts/#message-field) field when `*` query is passed to [`/select/logsql/query` endpoint](https://docs.victoriametrics.com/victorialogs/querying/#querying-logs) together with positive `limit` arg. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/6785). Thanks to @jiekun for itentifying the root cause of the issue. + ## [v0.29.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.29.0-victorialogs) Released at 2024-09-08