cancel
Showing results forย 
Search instead forย 
Did you mean:ย 
Data Engineering
Join discussions on data engineering best practices, architectures, and optimization strategies within the Databricks Community. Exchange insights and solutions with fellow data engineers.
cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Getting runtime execution error when migrating a job to Unity

utkarshamone
New Contributor III

I am in the process of migrating our jobs from the legacy hive metastore to Unity. I have modified my existing job to read and write from a different bucket as part of the migration. The only change I have made to my job config is to enable this setting - 

data_security_mode = "USER_ISOLATION"
 
As per my understanding this enables access to Unity Catalog on the cluster
I am running the latest DBR
But I keep getting this error, which I cannot understand and solve
Any help is appreciated!

Thanks in advance!
2 REPLIES 2

utkarshamone
New Contributor III

Quick correction here - I am using DBR 16.4 LTS (Scala 2.12, Spark 3.5.2)

Ashwin_DSA
Databricks Employee
Databricks Employee

Hi @utkarshamone,

After looking into your error dump, it appears the driver is hanging while trying to initialise a DBFS mount backed by GCS... As an example, the highlighted paths below only appear when Databricks is resolving a DBFS mount (or root) that points to a GCS bucket, not when youโ€™re using Unity Catalog external locations or volumes.

dbfs error.png

Because youโ€™ve moved the job to Unity Catalog + DBR 16.4 LTS with data_security_mode = "USER_ISOLATION" (Standard access mode), this is a strong signal that the job (or its cluster/init scripts) still references a DBFS mount path, e.g., dbfs:/mnt/..., that points to your bucket.

Under UC + Standard access mode on recent runtimes, DBFS mounts are a legacy pattern and can cause driver startup problems or runtime errors, especially when mixed with UC-governed storage.

Here are some options for you to look at. Firstly, search your code, job parameters and init scripts to see if there are any references to the DBFS mount points in this job. If you find any, make a note of them and migrate those mounts to the Unity Catalog. You can then update the job to use the UC paths instead of the DBFS mount points.

Before you go ahead and make the changes, you can (if that is possible) temporarily switch the job to dedicated access mode. If it only fails in standard (USER_ISOLATION) and only when the mount is present, that confirms the mount as the culprit.

If this answer resolves your question, could you mark it as โ€œAccept as Solutionโ€? That helps other users quickly find the correct fix.

Regards,
Ashwin | Delivery Solution Architect @ Databricks
Helping you build and scale the Data Intelligence Platform.
***Opinions are my own***