{"record":{"id":"8c509ac0c0d4f38d","repo":"mlflow/mlflow","slug":"parameter-name-is-only-supported-in-databricks-e","errorCode":null,"errorMessage":"Parameter 'name' is only supported in Databricks environments. Use 'dataset_id' parameter instead.","messagePattern":"Parameter 'name' is only supported in Databricks environments\\. Use 'dataset_id' parameter instead\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"mlflow/genai/datasets/__init__.py","lineNumber":107,"sourceCode":"        )\n\n\ndef _validate_non_databricks_params(\n    name: str | None,\n    dataset_id: str | None = None,\n) -> None:\n    \"\"\"\n    Validate parameters for non-Databricks environment (delete_dataset).\n\n    Args:\n        name: The dataset name parameter (should not be provided)\n        dataset_id: The dataset ID parameter (required)\n\n    Raises:\n        ValueError: If dataset_id is missing or name is provided\n    \"\"\"\n    if name is not None:\n        raise ValueError(\n            \"Parameter 'name' is only supported in Databricks environments. \"\n            \"Use 'dataset_id' parameter instead.\"\n        )\n    if dataset_id is None:\n        raise ValueError(\n            \"Parameter 'dataset_id' is required. \"\n            \"Use search_datasets() to find the dataset ID by name if needed.\"\n        )\n\n\ndef _validate_non_databricks_get_params(\n    name: str | None,\n    dataset_id: str | None = None,\n) -> None:\n    if name is not None and dataset_id is not None:\n        raise ValueError(\"Cannot specify both 'name' and 'dataset_id'. Use only one parameter.\")\n    if name is None and dataset_id is None:\n        raise ValueError(\"Either 'name' or 'dataset_id' must be provided.\")","sourceCodeStart":89,"sourceCodeEnd":125,"githubUrl":"https://github.com/mlflow/mlflow/blob/6a27f2decc0b76eb1b54af31849784addb357dbc/mlflow/genai/datasets/__init__.py#L89-L125","documentation":"Outside Databricks, genai dataset APIs identify datasets by dataset_id, not name. _validate_non_databricks_params raises ValueError if a name is supplied to delete_dataset in a non-Databricks environment.","triggerScenarios":"Calling delete_dataset(name=\"...\") while the tracking URI is NOT a Databricks URI.","commonSituations":"Code written for Databricks notebooks reused in local/CI environments against a file:// or http tracking server.","solutions":["Use delete_dataset(dataset_id=\"...\") instead, resolving the ID via search_datasets().","Switch the tracking URI to Databricks if name-based access is intended.","Branch on environment: call the Databricks path when is_databricks_uri(get_tracking_uri()) is true."],"exampleFix":"// before\ndelete_dataset(name=\"my_eval_dataset\")  # outside Databricks\n// after\ndelete_dataset(dataset_id=\"abc-123\")","handlingStrategy":"validation","validationCode":"from mlflow.tracking._tracking_service.utils import is_databricks_uri\nfrom mlflow.tracking import get_tracking_uri\nif name is not None and not is_databricks_uri(get_tracking_uri()):\n    raise ValueError(\"use dataset_id= outside Databricks\")","typeGuard":"def non_databricks_safe_args(name: str | None) -> bool:\n    from mlflow.tracking._tracking_service.utils import is_databricks_uri\n    from mlflow.tracking import get_tracking_uri\n    return not (name is not None and not is_databricks_uri(get_tracking_uri()))","tryCatchPattern":"try:\n    delete_dataset(name=name)\nexcept ValueError as e:\n    if \"only supported in Databricks\" in str(e):\n        delete_dataset(dataset_id=lookup_id_by_name(name))\n    else:\n        raise","preventionTips":["Resolve names to dataset_ids via search_datasets() before non-Databricks operations.","Guard shared code with environment checks.","Prefer dataset_id in CI/local pipelines."],"tags":["environment","incompatible-parameter","genai-datasets"],"backgroundTag":"parameter-not-supported-in-environment","analyzedSha":"6a27f2decc0b76eb1b54af31849784addb357dbc","analyzedAt":"2026-08-29T20:54:51.419Z","schemaVersion":2},"datasetVersion":"2026-08-29T22:17:34.462Z"}