Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix segfault in LabelValues during head compaction #6271

Merged
merged 3 commits into from
Apr 12, 2023

Commits on Apr 12, 2023

  1. Fix segfault in LabelValues during head compaction

    Head compaction causes blocks outside the retention period to get deleted.
    If there is an in-flight LabelValues request at the same time, deleting
    the block can cause the store proxy to panic since it loses access to
    the data.
    
    This commit fixes the issue by copying label values from TSDB stores
    before returning them to the store proxy. I thought about exposing
    a Close method on the TSDB store which the Proxy can call, but this will
    not eliminate cases where gRPC defers sending data over a channel using its
    queueing mechanism.
    
    Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
    fpetkovski committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    7ade453 View commit details
    Browse the repository at this point in the history
  2. Add changelog entry

    Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
    fpetkovski committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    43f0fa3 View commit details
    Browse the repository at this point in the history
  3. Assert no error when querying labels

    Signed-off-by: Filip Petkovski <filip.petkovsky@gmail.com>
    fpetkovski committed Apr 12, 2023
    Configuration menu
    Copy the full SHA
    6236c53 View commit details
    Browse the repository at this point in the history