Skip to content

Cluster gets recreated during deployment #5179

@GewoonMaarten

Description

@GewoonMaarten

Describe the issue

When I deploy the cluster resource it triggers a Compute edited by ... event and I need to wait a bit before the cluster is running again.

The event:

{
  "previous_attributes": {
    "cluster_name": "[dev ...] Development cluster",
    "spark_version": "17.3.x-scala2.13",
    "spark_conf": {
      "spark.sql.shuffle.partitions": "auto"
    },
    "azure_attributes": {
      "first_on_demand": 1,
      "availability": "SPOT_WITH_FALLBACK_AZURE",
      "spot_bid_max_price": -1
    },
    "node_type_id": "Standard_D4ds_v5",
    "driver_node_type_id": "Standard_D4ds_v5",
    "custom_tags": {},
    "autotermination_minutes": 60,
    "enable_elastic_disk": true,
    "disk_spec": {},
    "cluster_source": "UI",
    "policy_id": "...",
    "enable_local_disk_encryption": false,
    "instance_source": {
      "node_type_id": "Standard_D4ds_v5"
    },
    "driver_instance_source": {
      "node_type_id": "Standard_D4ds_v5"
    },
    "data_security_mode": "USER_ISOLATION",
    "effective_spark_version": "17.3.x-scala2.13",
    "release_version": "17.3.10"
  },
  "attributes": {
    "cluster_name": "[dev ...] Development cluster",
    "spark_version": "17.3.x-scala2.13",
    "spark_conf": {
      "spark.sql.shuffle.partitions": "auto"
    },
    "azure_attributes": {
      "first_on_demand": 1,
      "availability": "SPOT_WITH_FALLBACK_AZURE",
      "spot_bid_max_price": -1
    },
    "node_type_id": "Standard_D4ds_v5",
    "driver_node_type_id": "Standard_D4ds_v5",
    "custom_tags": {},
    "autotermination_minutes": 60,
    "enable_elastic_disk": true,
    "disk_spec": {},
    "cluster_source": "UI",
    "policy_id": "...",
    "enable_local_disk_encryption": false,
    "instance_source": {
      "node_type_id": "Standard_D4ds_v5"
    },
    "driver_instance_source": {
      "node_type_id": "Standard_D4ds_v5"
    },
    "data_security_mode": "USER_ISOLATION",
    "effective_spark_version": "17.3.x-scala2.13"
  },
  "previous_cluster_size": {
    "autoscale": {
      "min_workers": 2,
      "max_workers": 20,
      "target_workers": 13
    }
  },
  "cluster_size": {
    "autoscale": {
      "min_workers": 2,
      "max_workers": 20,
      "target_workers": 13
    }
  },
  "user": "..."
}

The only property that has been updated is release_version, which I cannot set. I also checked #4933 and #3286, but I think I have a different problem databricks bundle plan -o json does not show anything intresetting:

❯ databricks bundle plan -o json
Building default...
{
  "plan": {
    "resources.clusters.development_cluster": {
      "action": "update"
    },
    "resources.jobs.test": {
      "action": "update"
    }
  }
}

Configuration

variables:
  policy_id:
    description: Cluster policy id for cost allocation
    lookup:
      cluster_policy: "test"
  spark_version:
    description: Shared Spark runtime version for all clusters
    default: "17.3.x-scala2.13"
  node_type_id:
    description: Shared node type for all clusters
    default: "Standard_D4ds_v5"

targets:
  dev:
    mode: development
    default: true

    cluster_id: ${resources.clusters.development_cluster.id}

    resources:
      clusters:
        development_cluster:
          cluster_name: Development cluster
          spark_version: ${var.spark_version}
          node_type_id: ${var.node_type_id}
          spark_conf:
            spark.sql.shuffle.partitions: auto
          autoscale:
            min_workers: 2
            max_workers: 20
          autotermination_minutes: 60
          azure_attributes:
            availability: SPOT_WITH_FALLBACK_AZURE
          data_security_mode: DATA_SECURITY_MODE_AUTO
          policy_id: ${var.policy_id}

Steps to reproduce the behavior

  1. Run databricks bundle deploy
  2. On the second deployment cluster gets recreated

Expected Behavior

No updates to config don't trigger a cluster update

Actual Behavior

Cluster is updated

OS and CLI version

  • Databricks CLI v0.278.0
  • Databricks CLI v0.299.0

Is this a regression?

Did this work in a previous version of the CLI? If so, which versions did you try?

Debug Logs

Output logs if you run the command with debug logs enabled. Example: databricks bundle deploy --log-level=debug. Redact if needed

Metadata

Metadata

Assignees

No one assigned

    Labels

    DABsDABs related issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions