openml / openml/server-api

Specify all entities which can't be linked to a collection on a create/attach/detach call.

Open
#134 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Collections enhancement
Dominant language
Python
Stars
16
Forks
50
PR merge metrics
No merged PRs in 30d

Description

The current implementation relies on the database errors to specify if something can not be (un)linked to a study. This is useful because there is less overhead in the happy-path. However, when some entities don't exist, or are already attached (for attach) or are not attached (for detach), then only the first such conflict is provided by the database error. This means that a user that tries to attach multiple entities at once, with multiple conflicts at once, can only resolve the conflicts one-by-one (or they have to collect the study/tasks/runs themselves, then do the matching). It would be good to do this check serverside only if we already establish there is already at least one conflict.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the server-side create, attach, and detach handling and the database-error path described in the issue. Done means that, when at least one conflict exists, the response identifies all missing, already-attached, or unattached entities while preserving the existing happy path.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend, database
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.