{"record":{"id":"156b2da13356158a","repo":"mlflow/mlflow","slug":"failure-attempting-to-register-default-experimentc","errorCode":null,"errorMessage":"Failure attempting to register default experimentcontext provider \"{entrypoint.name}\": {exc}","messagePattern":"Failure attempting to register default experimentcontext provider \"(.+?)\": (.+?)","errorType":"console","errorClass":"UserWarning","httpStatus":null,"severity":"warning","filePath":"mlflow/tracking/default_experiment/registry.py","lineNumber":41,"sourceCode":"    MLflow Experiment IDs based on the current context where the MLflow client is running when\n    the user has not explicitly set an experiment. Implementations declared though the entrypoints\n    `mlflow.default_experiment_provider` group can be automatically registered through the\n    `register_entrypoints` method.\n    \"\"\"\n\n    def __init__(self):\n        self._registry = []\n\n    def register(self, default_experiment_provider_cls):\n        self._registry.append(default_experiment_provider_cls())\n\n    def register_entrypoints(self):\n        \"\"\"Register tracking stores provided by other packages\"\"\"\n        for entrypoint in get_entry_points(\"mlflow.default_experiment_provider\"):\n            try:\n                self.register(entrypoint.load())\n            except (AttributeError, ImportError) as exc:\n                warnings.warn(\n                    \"Failure attempting to register default experiment\"\n                    + f'context provider \"{entrypoint.name}\": {exc}',\n                    stacklevel=2,\n                )\n\n    def __iter__(self):\n        return iter(self._registry)\n\n\n_default_experiment_provider_registry = DefaultExperimentProviderRegistry()\nfor exp_provider in _EXPERIMENT_PROVIDERS:\n    _default_experiment_provider_registry.register(exp_provider)\n\n_default_experiment_provider_registry.register_entrypoints()\n\n\ndef get_experiment_id() -> str | None:\n    \"\"\"Get an experiment ID for the current context.","sourceCodeStart":23,"sourceCodeEnd":59,"githubUrl":"https://github.com/mlflow/mlflow/blob/6a27f2decc0b76eb1b54af31849784addb357dbc/mlflow/tracking/default_experiment/registry.py#L23-L59","documentation":"The default-experiment provider registry loads `mlflow.default_experiment_provider` entry points at startup. If a provider package raises AttributeError or ImportError on import, a warning reports the entrypoint name and the exception.","triggerScenarios":"An installed package declaring the `mlflow.default_experiment_provider` entry point whose referenced module or attribute cannot be loaded.","commonSituations":"Broken plugin installs, mismatched dependency versions after upgrades, leftover metadata from uninstalled packages in the environment.","solutions":["Inspect the exception text, then reinstall the failing provider package.","Uninstall the plugin if it is not needed.","Rebuild the environment/venv to remove stale entry points."],"exampleFix":"// before\nimport my_default_exp_provider  # ImportError\n// after\n# pip install --force-reinstall my-mlflow-default-experiment-provider","handlingStrategy":"validation","validationCode":"from importlib.metadata import entry_points\nfor ep in entry_points(group=\"mlflow.default_experiment_provider\"):\n    try:\n        ep.load()\n    except Exception as e:\n        print(f\"broken provider {ep.name}: {e}\")","typeGuard":null,"tryCatchPattern":"import warnings\nwith warnings.catch_warnings(record=True) as w:\n    warnings.simplefilter(\"always\")\n    import mlflow\nfor warn in w:\n    if \"default experiment\" in str(warn.message):\n        fix_or_remove_plugin(warn)","preventionTips":["Keep plugin packages' dependencies declared and pinned.","Avoid manual deletion of site-packages; use pip uninstall.","Check this warning right after upgrading mlflow or plugins."],"tags":["plugins","entrypoint","import-error"],"backgroundTag":"plugin-entrypoint-load-failure","analyzedSha":"6a27f2decc0b76eb1b54af31849784addb357dbc","analyzedAt":"2026-08-29T20:54:51.419Z","schemaVersion":2},"datasetVersion":"2026-08-29T22:17:34.462Z"}