Unable to publish the results
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 755
- Forks
- 128
- PR merge metrics
- No merged PRs in 30d
Description
Description
I am trying to publish a machine learning run using a custom scikit-learn pipeline via the Python API. However, the run.publish() method consistently fails due to server-side HTTP errors (504 Gateway Time-out and 503 Service Temporarily Unavailable) when making a request to the /api/v1/xml/flow/exists endpoint.
The issue seems to be server-side or related to how the server parses the serialized flow of a custom pipeline.
Steps/Code to Reproduce
import openml
# Authenticate with API key
openml.config.apikey = 'YOUR_API_KEY'
# Retrieve a task (e.g., Task 3)
task = openml.tasks.get_task(3)
# Evaluate a custom scikit-learn Pipeline (Routernet)
run = openml.runs.run_model_on_task(routernet_model, task, seed=1)
# Attempt to publish the run and flow
run.publish()
Expected Results
The flow and run are successfully processed and published to the OpenML server without timing out.
Actual Results
The flow/exists API endpoint fails, aborting the publish process and returning Nginx error pages:
Initial failure (504 Timeout):
publish failed for task 3: Unexpected server error when calling https://www.openml.org/api/v1/xml/flow/exists. Please contact the developers!
Status code: 504
<html>
<head><title>504 Gateway Time-out</title></head>
<body>
<center><h1>504 Gateway Time-out</h1></center>
<hr><center>nginx</center>
</body>
</html>
Subsequent failures (503 Unavailable):
publish failed for task 6: Unexpected server error when calling https://www.openml.org/api/v1/xml/flow/exists. Please contact the developers!
Status code: 503
<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
<hr><center>nginx</center>
</body>
</html>
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
Start by reproducing the failure with the Python API example, a custom scikit-learn pipeline, and task 3, then trace run.publish() through the /api/v1/xml/flow/exists request. Compare the 504 and 503 responses and determine which server-side flow handling is involved. Done means the flow and run publish successfully without those errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, scikit-learn
- Domain
- api, backend, machine-learning
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100