Duplicate tag upload produces response with invalid XML
Open
Nobody has claimed this yet.
bug
- Dominant language
- PHP
- Stars
- 755
- Forks
- 128
- PR merge metrics
- No merged PRs in 30d
Description
Related: openml-python#1014
Using openml-python to upload a run with a duplicate tag:
import openml
from sklearn.tree import DecisionTreeClassifier
run = openml.runs.run_model_on_task(DecisionTreeClassifier(), 59)
print('Run is not yet uploaded:', run.id == None)
run.tags = ["a", "a"]
run.publish()
the returned XML reads:
b'<oml:error xmlns:oml="http://openml.org/openml">\n\t<oml:code>473</oml:code>\n\t<oml:message>Entity already tagged by this tag. </oml:message>\n\t\t<oml:additional_information>id=10559755; tag=a</oml:additional_information>\n\t</oml:error>\n<oml:upload_run xmlns:oml="http://openml.org/openml">\n\t<oml:run_id>10559755</oml:run_id>\n\t</oml:upload_run>\n'
The closing </oml:error> tag is missing.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is named. Start by tracing the API handler for the upload_run response and the duplicate-tag error path, using the provided Python reproduction and XML as the failing case. Done means the duplicate-tag response is well-formed XML with a closed error element and the run-upload response remains correct.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100