Skip to content

unexpect sst ingestion in l0 even if there is no overlapped data #18865

@glorv

Description

@glorv

Bug Report

What version of TiKV are you using?

What operating system and CPU are you using?

Steps to reproduce

We have met SST ingested not to the bottom level in different scenarios while the newly ingested SST files are not overlap with any existing data. In some cases, the sst files are ingested into l0 and cause flow-control; while in other cases, the SST files are ingested to other file that triggers huge compaction and impact the tail latency.

The root cause is the compatition guard current only split SST file when its size exceed a certain threshold(see compaction-guard-min-output-file-size), so it is possible that there is a existing sst file at the bottom level with a huge range that can block any incoming sst from being ingested into the bottom level.

What did you expect?

What did happened?

Metadata

Metadata

Assignees

No one assigned

    Labels

    affects-6.5This bug affects the 6.5.x(LTS) versions.affects-7.1This bug affects the 7.1.x(LTS) versions.affects-7.5This bug affects the 7.5.x(LTS) versions.affects-8.1This bug affects the 8.1.x(LTS) versions.affects-8.5This bug affects the 8.5.x(LTS) versions.severity/majortype/bugThe issue is confirmed as a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions