openml / openml/OpenML

Database error - on upload of a run from OpenML-Python

Open
#1,045 25 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
755
Forks
128
PR merge metrics
No merged PRs in 30d

Description

Description

An OpenMLServerException occurs for a particular unit test which executes a scikit-learn model on a task and tries to publish. The raised exception:
openml.exceptions.OpenMLServerException: Database error. Setup search query failed - None

A post request is made which receives a 412 response and therefore an exception is raised during the check where the status code is not 200.

Steps/Code to Reproduce

Given the unit test invokes a series of locally defined functions, one simple way to run this single unit test could be to clone the OpenML-Python repo and run:
pytest -k 'test_run_and_upload_decision_tree_pipeline

Given that the execution stack for the unit test case appears to run without errors, the actual post request made during publish can be found here.
The data and file_elements packaged in the call are attached as pickle files for reference, while the URL used for the post request is: https://test.openml.org/api/v1/xml/run/

Contributor guide

Open the contributing guide

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

Run pytest -k 'test_run_and_upload_decision_tree_pipeline' from the OpenML-Python repository and inspect the publish request in openml/_api_calls.py at line 207, along with tests/test_runs/test_run_functions.py at line 570. Use the attached pickle files and test.openml.org endpoint details to investigate the 412 response; done means the upload no longer raises the database error and the test passes.

Written by the indexing model from the issue text.

Assessment

Tech stack
php, python, scikit-learn
Domain
api, backend, databases, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.