facebook / facebook/rocksdb

IngestExternalFile put file on bottom level but on db_paths[0]

Open
#10,286 4 comments 1 reaction 0 assignees View on GitHub
design discussion up-for-grabs
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

### Expected behavior
`IngestExternalFile` should put file on db_paths according to level.

### Actual behavior
`IngestExternalFile` put file on bottom level but on `db_paths[0]`.

### Steps to reproduce the behavior
1. Set `Options` with level style compaction
2. Set `Options` with multiple `db_paths`
3. Open db with defined Options
4. IngestExternalFile

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with level-style compaction and multiple db_paths, following the IngestExternalFile path-placement logic. Check how the target level is selected and why placement uses db_paths[0]. Done when ingested files are placed on the db_path corresponding to their level, with regression coverage for this configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.