perf: index coverage silently cleared once the manifest at dataset_version is cleaned up
I maintainer di solito rispondono entro 2 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
Direzione di ricerca
Start with prune_stale_segment_coverage in rust/lance/src/index.rs, then trace the merge-coverage history lookups and legacy-segment handling in rust/lance/src/dataset/optimize.rs. Compare those freshness checks with the current-manifest metadata named in the proposal. Done means coverage is retained after the old manifest is cleaned up, without pinning its referenced data files.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Several index paths check out the manifest at a segment's dataset_version to decide which fragments are still fresh. If cleanup_old_versions has removed that manifest, they silently clear the segment's coverage, and queries fall back to flat scans.
Affected paths:
prune_stale_segment_coverage(rust/lance/src/index.rs), used when committing staged segments and in mergeshistory.atlookups in the merge-coverage code (index.rs)- legacy segments without a bitmap (
rust/lance/src/dataset/optimize.rs)
This is likely in practice. Delete, Update, and immediate-remap compaction leave dataset_version unchanged, so it can age past the cleanup retention window. A distributed index build that runs longer than the retention window hits it too.
Results stay correct, but coverage is lost with no warning.
Proposed fix: decide freshness from metadata in the current manifest (overlay committed_versions, FRI version stamps, and per-fragment last-modified versions) instead of diffing against an old manifest. Keeping the old manifest during cleanup was rejected, because it would pin every data file that manifest references.
- Lingua principale
- Rust
- Stelle
- 7.3k
- Fork
- 924
- Merge medio
- 3g 16h
- PR unite (30g)
- 569
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di lance-format/lance
-
bug: test_ann flakes because its IVF fixture leaves partitions with fewer than k rowsForse già presa @lance-gatefixer l’ha presa 2 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
lance-format/lance#10782 ·
I maintainer di solito rispondono entro 2 giorni
-
docs: approx_mode docs say it only affects RQ indexesForse già presa @LuciferYang l’ha presa 3 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
lance-format/lance#10745 ·
I maintainer di solito rispondono entro 2 giorni
-
(feat): expose set_capacity of the cache to the session APIForse già presa @hello-peter-tang l’ha presa 5 giorni fa. Apertafeature performance
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
lance-format/lance#10137 ·
I maintainer di solito rispondono entro 2 giorni
-
Upgrade DataFusion for the unparser stack-overflow fixForse di nuovo libera Una pull request per questa issue è stata chiusa senza essere unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
lance-format/lance#8225 ·
I maintainer di solito rispondono entro 2 giorni
-
enhancement
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 84/100
lance-format/lance#6425 · 2 commenti ·
I maintainer di solito rispondono entro 2 giorni
Tutte le issue di lance-format/lance
Issue simili
-
Shell `yoyo <verb> <sub>` missing its required argument prints usage and exits 0: `config get`Apertaagent-self
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
yologdev/yoyo-evolve#1154 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
eliasstravik/herdr-projects#789 · 1 commento ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Alex-Sebastian-Ene/mind-over-chicken#195 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni