influxdata / influxdata/influxdb
Make tagKeys and tagValues storage APIs respect provided time range
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
Currently the tagValues and tagKeys APIs use the index at least some of the time to provide the requested metadata.
It seems likely that when these APIs use TSI to provide answers to metaqueries they do not respect the time range that is provided. We should add code to verify that we only return keys or values that have at least one point in the range that satisfies the passed in predicate.
This tests requested by this issue https://github.com/influxdata/flux/issues/3278 should expose any bugs in this area. The work of this issue is to fix the bugs, and ensure that the tests pass.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the tagValues and tagKeys storage APIs and their TSI-backed metadata-query path. Use the tests requested in influxdata/flux#3278 to reproduce cases with a time range and predicate. Done means both APIs return only keys or values having at least one matching point within the requested range, and those tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100