Docs: a vector index on a large label can fail on Postgres in a container with Docker's default 64 MB /dev/shm
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
- Tipo di issue
- Documentazione
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- docker, postgresql, python
- Ambito
- databases, documentation
Direzione di ricerca
Leggi le note Postgres del repository e individua la sezione sugli indici vettoriali; l’issue non indica un file. Aggiungi l’errore relativo alla memoria condivisa di Docker e le tre soluzioni documentate: aumentare /dev/shm, ridurre maintenance_work_mem o disabilitare i worker di manutenzione paralleli durante la compilazione. Il lavoro è completato quando le note Postgres spiegano quando si verifica l’errore e come gli utenti possono evitarlo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Docs, for the next train. The same issue is filed in drivine4j, drivine and drivine-python.
What a user can hit
On Postgres, a vector index that Drivine makes is a pgvector HNSW index. When the node table it covers is over min_parallel_table_scan_size (8 MB by default), Postgres builds that index in parallel. A parallel HNSW build asks for nearly all of maintenance_work_mem (64 MB by default) as one dynamic shared memory segment in /dev/shm.
Docker gives a container 64 MB of /dev/shm by default. In such a container, the build fails as soon as anything else holds a little of that memory. For example, a pooled session that ran a parallel VACUUM keeps about 1.2 MB until it ends. The error is:
could not resize shared memory segment "/PostgreSQL.N" to 63999616 bytes: No space left on device
Psycopg raises it as DiskFull; drivine4j and the TypeScript library surface the same error from Postgres. It comes from ensuring the schema, or from making a vector index, on a large label.
What the docs should say
Put this in the Postgres notes, next to vector indexes. Any one of these avoids the failure:
- give the container more shared memory (
--shm-size, orshm_sizein Compose); - lower
maintenance_work_memfor the build; - set
max_parallel_maintenance_workers = 0for the build.
Where it showed up
liberation-data/drivine-python#428's CI. Drivine's own timing tests left a large node table and a parallel VACUUM's shared memory in a pooled session, and the next vector-index test failed. That was fixed in the tests (vacuuming without parallel workers, and a graph of their own). Nothing changed in the library.
- Lingua principale
- Python
- Stelle
- 2
- Fork
- 0
- Merge medio
- 3h 7m
- PR unite (30g)
- 178
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 liberation-data/drivine-python
-
Full-text search undercounts a term repeated back to back: 'kiwi kiwi kiwi' counts 2Forse già presa @jasperblues l’ha presa oggi. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
liberation-data/drivine-python#422 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
liberation-data/drivine-python#363 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: drivine4j doesn't read the flat DATABASE_* variables, as 02-connecting.md and design.md sayApertadocumentation
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
liberation-data/drivine-python#361 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
liberation-data/drivine-python#250 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
liberation-data/drivine-python#209 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di liberation-data/drivine-python
Issue simili
-
[MOVIE]: Airport '77 (1977)Apertarequest-theme
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
LizardByte/ThemerrDB#9883 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Project-MONAI/MONAI#9258 ·
I maintainer di solito rispondono entro 3 giorni
-
catalog:deprecation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
surendranb/free-inference#31 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
fritzprix/libr-agent#2612 ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage presubmit-gate
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
gke-labs/kube-agents#5001 ·
I maintainer di solito rispondono entro 1 giorno