Poor performance for tag completion endpoints #1453
Labels
area:index
All issues pertaining to m3ninx and m3db's index
area:query
All issues pertaining to query
P: High
T: Perf
Users have been reporting poor performance when hitting any of the tag completion endpoints in m3query and m3coordinator; these requests are slow and often OOM clusters.
The root cause of this is that the M3DB client does not expose an endpoint to list available tag name/pairs, and m3query must make do by fetching all IDs matching the request then deduping them. Essentially, this means that trying to get a list of available tags pulls every single series into memory within M3DB, returns it up to Query, and then processed to return the list of valid tags.
This issue affects Grafana templating, Graphite
find
endpoints, and any tag completion features.This issue will track work to build and expose a tag completion endpoint in M3DB which will greatly increase the performance, and reduce the memory overhead required to perform these requests.
Most of these are being done independently but there's a few dependancies which will be called out:
Results
object into the query and merge all individual block postings lists into that, rather than allocating a Results per block then merging them together (Use a single index Results when querying across blocks #1474)The text was updated successfully, but these errors were encountered: