Delete Partition
DELETE/datasets/:dataset_id/versions/:version_id/partitions/:partition_id
Delete one saved partition from a dataset version.
Exactly the row the URL addresses: a copy the same selector was carried forward onto a derived
version is its own row and survives. Refused with 409 while a run's run_config names this
partition, so evaluation history keeps the target it was scored against.
Two callers deleting the same partition can both pass the lookup below before either commits; the row count settles it, and the loser gets the 404 it would have got had it arrived late.
The partition row is locked for the whole transaction, because the blocking-run check has no
foreign key to rest on: a run names its partition inside run_config, so without the lock a
run created between the check and the commit would be admitted against a partition this request
then deletes, leaving that run naming a target that no longer exists. Run creation takes a
shared lock on the same row (_resolve_trace_target), so the two serialise — locking only
here would not, since a plain SELECT never waits on a row lock.
Request
Responses
- 204
- 403
- 404
- 409
- 422
Successful Response
Forbidden
Not Found
Conflict
Validation Error