Databricks: Cluster Startup Failure — Storage Download Slowness and Bootstrap Errors

afs-5380 0 Reputation points
2026-10-28T19:20:33.5333333+00:00

Problem description

I am experiencing issues with starting my Azure Databricks clusters. During startup, the clusters terminate during bootstrap with an error code STORAGE_DOWNLOAD_FAILURE_SLOW, indicating slow artifact downloads from storage. After applying some network configuration changes, the startup progresses further but now fails with NPIP_TUNNEL_SETUP_FAILURE while establishing the secure cluster connectivity relay, with a timeout waiting for the ngrok tunnel. I am seeking guidance on resolving these connectivity and bootstrap issues to ensure reliable cluster startup.

Environment

Azure Databricks workspace using cluster-based compute.

What I've already tried

The only documented action was the initial problem report. No follow-up troubleshooting steps, configuration changes, or network modifications were recorded in the case history.

Current status

Currently, the cluster fails during bootstrap with NPIP_TUNNEL_SETUP_FAILURE due to ngrok tunnel timeout. I am looking for assistance to identify and resolve the underlying network or configuration issues causing these bootstrap failures.

Azure Databricks
Azure Databricks

An Apache Spark-based analytics platform optimized for Azure.

0 comments No comments

2 answers

Sort by: Newest
  1. Vinodh247-1375 44,801 Reputation points Volunteer Moderator
    2026-11-01T08:06:52.5533333+00:00

    The change from STORAGE_DOWNLOAD_FAILURE_SLOW to NPIP_TUNNEL_SETUP_FAILURE is useful evidence. It suggests that the storage path improved after the network change, but the updated configuration still does not provide reliable connectivity to the Secure Cluster Connectivity relay.

    Rather than troubleshooting both errors independently, compare the effective network path before and after the change:

    Review the exact network change

    Check whether the change modified a user-defined route, firewall policy, NAT configuration, proxy, DNS forwarding rule or NSG association. Pay particular attention to any default route such as 0.0.0.0/0 that now directs Databricks subnet traffic through a firewall or network virtual appliance.

    Validate the effective route and security rules

    On a failed cluster VM network interface, inspect:

    • Effective routes
      • Effective NSG rules
        • Next hop for internet-bound traffic
          • Whether the same configuration is applied to both Databricks subnets
          This can reveal a route-table or subnet-association difference that may not be obvious from the firewall configuration alone.
    1. Allow the regional SCC relay by FQDN Secure Cluster Connectivity is established as an outbound connection from the classic compute plane to the regional SCC relay. Use the relay FQDN listed for the workspace region and avoid restricting access to a single resolved IP address, because the addresses behind the relay FQDN can change. Microsoft recommends the AzureDatabricks service tag where service tags are supported. Check TLS inspection and proxy handling If HTTPS inspection or an explicit proxy is present, temporarily bypass inspection for the Databricks SCC relay and required artifact-storage endpoints. A TCP connection may succeed while tunnel establishment still times out because TLS interception, certificate substitution or proxy session handling disrupts the long-lived relay connection. Check outbound SNAT capacity If traffic passes through Azure Firewall, NAT Gateway or another network appliance, review SNAT port utilisation and connection metrics during cluster startup. Exhausted or heavily utilised SNAT capacity can produce intermittent downloads followed by tunnel timeouts, especially when multiple cluster nodes start concurrently. Correlate the failure with network logs Use the cluster event timestamp to filter Azure Firewall, NSG flow or network-appliance logs. Look for denied, reset or repeatedly retried connections to the regional SCC relay. This is more useful than reviewing general logs because it identifies the component interrupting the bootstrap connection.

    After correcting the network path, start a small single-node cluster first. If that succeeds consistently but a larger cluster fails, investigate firewall throughput, SNAT capacity or concurrent-connection limits rather than endpoint allowlisting alone.

    Relevant documentation:

    Help make this community better for everyone: if this answer resolved your issue, please accept it or leave an upvote. If not, share more details in a comment so we can continue the discussion and find the right solution

    Was this answer helpful?

    0 comments No comments

  2. Rukshan edirisinghe 2,365 Reputation points
    2026-10-29T03:38:59.4433333+00:00

    Hi @afs-5380

    Both errors point the same way: the cluster VMs can't reach the Databricks endpoints they need during bootstrap. The fact that your network change moved the failure from the storage download to the tunnel step suggests storage is now reachable but the secure cluster connectivity (SCC) relay isn't.

    Here's how I'd work through it, based on Microsoft's termination error code guide:

    1. Find your region's endpoints. Open "IP addresses and domains for Azure Databricks services and assets" (linked below) and note the SCC relay FQDN and the artifact storage endpoints for your workspace region.
    2. Test from inside the compute network. Create a small Linux VM in the same VNet, using a subnet with the same route table and DNS settings, and run nslookup <SCC relay fqdn> and then nc -vz <SCC relay fqdn> 443. A quick curl download from the artifact storage endpoint also shows whether it's slow.
    3. If DNS fails, check your custom DNS servers or private DNS zones. They must resolve the relay and storage names.
    4. If the connection times out, check your firewall, NVA or proxy rules. Microsoft's guide says to allow the relay on port 443 (and 6666). If a route table sends 0.0.0.0/0 to a firewall, the relay and storage FQDNs need allow rules there.
    5. If storage is slow, look for TLS inspection or an overloaded NVA in the path. Adding a service endpoint for Microsoft.Storage on the Databricks subnets is one of the documented fixes.
    6. If every test passes and clusters still fail, open a case with Databricks support and include the cluster ID and the termination message.

    Do you route outbound traffic from the Databricks subnets through Azure Firewall or another NVA?

    If the connectivity tests reveal the blocked path, please consider accepting it as the answer. If everything connects and clusters still time out, let me know and I'll be happy to keep helping.

    Reference:

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.