Description
Describe the bug
When executing a query that uses a regular expression label filter containing backticks (e.g., field =~ "`.`")
, Loki appears to be attempting to mis-interpret those backticks as string delimiters and throws a syntax error. The same behaviour does not occur for line filters nor LogCLI, so it seems specific to how label filters are implemented.
To Reproduce
Steps to reproduce the behavior:
- Started Loki (4fa045d, latest 3.4.2)
- Query:
{...} | logfmt | logger=~"`.`"
- Receive error message
parse error at line 1, col X: syntax error: unexpected .
Expected behavior
The query to execute and bring back results matching the specified pattern.
Environment:
- Infrastructure: both Grafana Cloud and in local testing
- Deployment tool: Docker
Screenshots, Promtail config, or terminal output
Relevant log lines from Loki:
level=info ts=2025-03-11T09:35:29.682630247Z caller=roundtrip.go:359 org_id=fake traceID=6fcfefab593c73ce msg="executing query" type=range query="{job=\"dockerlogs\"} | logfmt | logger=~\"`.`\"" start=2025-03-11T08:35:29.675Z end=2025-03-11T09:35:29.675Z start_delta=1h0m0.007615607s end_delta=7.615697ms length=1h0m0s step=2000 query_hash=2935063436
level=info ts=2025-03-11T09:35:29.683320322Z caller=table_manager.go:195 index-store=tsdb-2024-12-23 msg="get or create table" found=true table=index_20158 wait_for_lock=1.228µs
level=info ts=2025-03-11T09:35:29.683478473Z caller=metrics.go:409 org_id=fake traceID=6fcfefab593c73ce latency=fast query_type=stats start=2025-03-11T08:34:59Z end=2025-03-11T09:35:29Z start_delta=1h0m30.683476493s end_delta=683.476653ms length=1h0m30s duration=219.91µs status=200 query="{job=\"dockerlogs\"}" query_hash=705154902 total_entries=1
level=info ts=2025-03-11T09:35:29.68416227Z caller=roundtrip.go:359 org_id=fake traceID=06a502a71024af24 msg="executing query" type=range query="sum by (level, detected_level) (count_over_time({job=\"dockerlogs\"} | logfmt | logger=~\"`.`\" | drop __error__[1m]))" start=2025-03-11T08:35:00Z end=2025-03-11T09:35:29.675Z start_delta=1h0m29.684160616s end_delta=9.160819ms length=1h0m29.675s step=60000 query_hash=1258716267
level=warn ts=2025-03-11T09:35:29.684552704Z caller=retry.go:125 org_id=fake traceID=6fcfefab593c73ce msg="received an error but not a retryable code, this is possibly a bug." code=Code(400) err="rpc error: code = Code(400) desc = parse error at line 1, col 41: syntax error: unexpected ."
level=info ts=2025-03-11T09:35:29.684893155Z caller=table_manager.go:195 index-store=tsdb-2024-12-23 msg="get or create table" found=true table=index_20158 wait_for_lock=1.88µs
level=info ts=2025-03-11T09:35:29.685123889Z caller=metrics.go:409 org_id=fake traceID=06a502a71024af24 latency=fast query_type=stats start=2025-03-11T08:34:00Z end=2025-03-11T09:36:00Z start_delta=1h1m29.685121996s end_delta=-30.314877764s length=1h2m0s duration=287.658µs status=200 query="{job=\"dockerlogs\"}" query_hash=705154902 total_entries=1
level=warn ts=2025-03-11T09:35:29.686617283Z caller=retry.go:125 org_id=fake traceID=06a502a71024af24 msg="received an error but not a retryable code, this is possibly a bug." code=Code(400) err="rpc error: code = Code(400) desc = parse error at line 1, col 87: syntax error: unexpected ."
Metadata
Metadata
Assignees
Labels
No labels