fix(api): the feature-flag list has no defined order across pages
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 72/100
Direzione di ricerca
Inizia da get_multi in backend/app/crud/base.py, che costruisce la query paginata con offset senza ORDER BY, e segui il percorso a partire dall'handler GET /api/v1/feature-flags/. Aggiungi un ordinamento deterministico, ad esempio created_at e poi id, e verifica che la lista dei feature flag restituisca ancora lo stesso totale. È completato quando pagine consecutive skip/limit suddividono i flag senza sovrapposizioni, verificato da un test di paginazione. Se esiste sdk/mcp/tools.json, aggiorna la descrizione di list_feature_flags in modo che corrisponda.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
GET /api/v1/feature-flags/ pages with skip and limit, but the query behind it has no ORDER BY (backend/app/crud/base.py, get_multi: offset paging with no order). PostgreSQL then returns rows in whatever order the plan produces, which can change between two requests.
What goes wrong: a client that pages through the list (the dashboard, a script, an SDK helper, the planned MCP server's list_feature_flags) can see a flag on two pages, or on none, when the order shifts between page requests. total is still right; only the page contents are unstable.
Expected: a defined, stable order for the list (for example created_at then id), so that consecutive pages partition the flags.
When it is fixed: the fix also updates the description of list_feature_flags in sdk/mcp/tools.json (if sdk/mcp exists by then), which today says the list has no defined order, and restores the paging half of that tool's contract test.
Found while planning the MCP server (#1607). Priority is set in the pre-launch bug triage.
- Lingua principale
- Python
- Stelle
- 0
- Fork
- 4
- Merge medio
- 5h 19m
- PR unite (30g)
- 503
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un 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 Controlvar/controlvar
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionApertabug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
Controlvar/controlvar#1737 ·
I maintainer di solito rispondono entro 1 giorno
-
bug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Controlvar/controlvar#1562 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
Controlvar/controlvar#1447 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Apertabug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Controlvar/controlvar#1428 ·
I maintainer di solito rispondono entro 1 giorno
-
bug post-launch
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
Controlvar/controlvar#1425 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Controlvar/controlvar
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
area:docs documentation effort:M ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
mczielinski/ob-analytics#423 ·
I maintainer di solito rispondono entro 1 giorno
-
infra
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
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 3 giorni
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
vllm-project/vllm-ascend#21033 ·
I maintainer di solito rispondono entro 1 giorno