influxdata / influxdata/influxdb

Make tagKeys and tagValues storage APIs respect provided time range

Open
#19,814 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

epic team/query
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.