Tasktype endpoint should gracefully handle malformed api_constraints values
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 48/100
Direzione di ricerca
Inizia in src/routers/openml/tasktype.py dal punto di ingresso GET /tasktype/{task_type_id} e verifica come viene analizzato api_constraints. Riproduci l’endpoint con JSON malformato, un valore simile a un dict e JSON valido senza data_type. Il lavoro è completato quando l’endpoint restituisce una risposta stabile, accetta valori di tipo string e dict e include input[].data_type solo quando disponibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
The /tasktype/{task_type_id} endpoint is not robust to unexpected api_constraints values.
In src/routers/openml/tasktype.py, the current parsing assumes a valid JSON string containing data_type. If api_constraints is malformed JSON, already a dict, or missing data_type, the endpoint may fail or behave inconsistently.
To Reproduce
Minimal reproducible setup (data-level reproduction):
- Ensure a task type exists with at least one input row in the DB.
- Set
api_constraintsfor that input to malformed JSON, for example:"{bad json"
- Call:
GET /tasktype/<task_type_id>
Also test with:
api_constraintsalready stored as a dict/object-like value (if DB layer returns dict)api_constraintsvalid JSON but withoutdata_type, e.g.{"foo":"bar"}
Expected behavior
- The endpoint should return a stable response and should not crash.
- It should accept both legacy JSON strings and dict-like values.
- It should include
input[].data_typeonly whendata_typeis present. - Malformed JSON in
api_constraintsshould be ignored gracefully for that field.
Additional context
Proposed fix is to make parsing defensive:
- parse string values via
json.loadsinsidetry/except json.JSONDecodeError - accept dict values directly
- set
data_typeconditionally using safe lookup
- Lingua principale
- Python
- Stelle
- 17
- Fork
- 50
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Nessuna 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 openml/server-api
-
behavior
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
openml/server-api#337 · 1 commento ·
-
Redesign POST /data/untag for v2Forse di nuovo libera @omosola l’ha presa 35 giorni fa e non c’è nessuna pull request aperta. Apertaproposal
openml/server-api#375 · 2 commenti · 1 assegnatario ·
-
Redesign POST /data/tag for v2Forse di nuovo libera @omosola l’ha presa 35 giorni fa e non c’è nessuna pull request aperta. Aperta
openml/server-api#374 · 2 commenti · 1 assegnatario ·
-
Redesign POST /data/qualities/unprocessed/{data_engine_id}/{order} for v2Forse di nuovo libera @omosola l’ha presa 35 giorni fa e non c’è nessuna pull request aperta. Aperta
openml/server-api#373 · 1 assegnatario ·
-
Redesign POST /data/qualities for v2Forse di nuovo libera @omosola l’ha presa 35 giorni fa e non c’è nessuna pull request aperta. Aperta
openml/server-api#372 · 1 assegnatario ·
Tutte le issue di openml/server-api
Issue simili
-
[Bug]: Bedrock request metadata forwarding does not work for /embeddingsForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug llm translation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Arkansas 2025 tax is $1.70 high above $100,000 net taxable income ($3,809 + 3.9% rule)Forse già presa @PavelMakarchuk l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
PolicyEngine/policyengine-us#9828 ·
I maintainer di solito rispondono entro 2 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
jellyfin/jellyfin-mpv-shim#800 ·
I maintainer di solito rispondono entro 1 giorno
-
skillfs: one malformed chat-log line aborts the entire skill-usage analysis (skill_usage_from_chat_logs.py)Forse già presa @zjncs l’ha presa oggi. Apertacomponent:skillfs
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
agentic-os-org/ANOLISA#6116 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
P4: low query
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
jeffknupp/association#336 ·