Closed bocharovf closed 2 years ago
cc) @EinKrebs
Same issue. http.status_code=200 works fine, error=true returns empty results. Tested with jaeger hotrod.
Root cause: there could be more than one tag with the same name in tags.key / tags.value columns of jaeger_index_local table but we only check the first occurrence of it. This is because we also serialize events (logs) into tags.* column.
So we end up with multiple "error" tag:
client-uuid=534bc4dfd268070c
driver_id=T762908C
error=redis timeout
error=true
...
span.kind=client
And only first value could be found because we use filter tags.value[indexOf(tags.key, ?)] == ?
Seems there is no easy way to get all array indexes of values so it's hard to check all tag values.
Should we really support searching for events (log) attributes? We could either stop serialize them into tags columns or at least prefix with "event." to distinguish from boolean error tag.
Describe the bug Filter "error=true" does not show traces with errors.
To Reproduce Steps to reproduce the behavior:
Expected behavior Traces with Redis error found
Screenshots
Version (please complete the following information):
What troubleshooting steps did you try? Tag filter works as expected with another tags (e.g. "param.driverID").
Error tag filter works with Elasticsearch plugin.
I use that docker-compose to compare ELK and Clickhouse storages.