Azure / Azure/azure-sdk-for-python

Azure ML filters mlflow.source.* tags at run creation but not at runtime

Offen
#45,207 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug customer-reported Machine Learning needs-team-attention Service Attention
Vorherrschende Sprache
Python
Sterne
5.6k
Forks
3.4k
Ø Merge
2 T.
Gemergte PRs (30 T.)
217

Beschreibung

- **Package Name**: azureml-mlflow
- **Package Version**: 1.61.0.post1
- **Operating System**: Ubuntu 22.04.5 LTS
- **Python Version**: 3.12

**Describe the bug**
Azure ML's MLflow tracking backend filters `mlflow.source.name` and `mlflow.source.type` tags when passed to `create_run(tags=...)` but allows the same tags when set via `set_tag()` after run creation. This inconsistency breaks integrations with tools like PyTorch Lightning.

**To Reproduce**
Steps to reproduce the behavior:
1. Create a run with source tags at creation time:
```python
client.create_run(experiment_id="...", tags={
"mlflow.source.name": "https://github.com/org/repo",
"mlflow.source.type": "PROJECT"
})

Result: Tags are filtered out ❌

2. Create a run and set tags afterwards
run = client.create_run(experiment_id="...")
client.set_tag(run.info.run_id, "mlflow.source.name", "https://github.com/org/repo")
client.set_tag(run.info.run_id, "mlflow.source.type", "PROJECT")

Result: Tags are preserved ✅

**Impact**
PyTorch Lightning MLFlowLogger broken: Lightning passes tags to create_run(), causing all source tags to be lost
Standard MLflow patterns fail: The recommended MLflow pattern uses tags at creation
Confusing behavior: No documentation explains this filtering

**Expected behavior**
Either:
Option A: Allow mlflow.source.* tags in both scenarios (preferred)
Option B: Filter them in both scenarios and document why
Option C: Document the current behavior and provide guidance

**Additional context**
Noticed this difference when planning to migrate to Mlflow in AzureML from a self-hosted version of MlFlow v2.12.1.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Start at the azureml-mlflow tracking backend paths for create_run(tags=...) and set_tag(), reproducing both cases from the issue. Determine which expected behavior is accepted, then verify that source tags are handled consistently and the PyTorch Lightning integration scenario no longer loses them.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
azure, python
Bereich
backend-api-design, machine-learning
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.