3 weeks ago
Hello!
According to Databricks documentation on azure :
"On Databricks Runtime 15.3 and below, fine-grained access control on single user compute is not supported. Specifically:
Well, I am using DBR 15.4 LTS and getting the following error message when running an optimize job (OPTIMIZE table name) on some tables that have a row filter:
Py4JJavaError: An error occurred while calling o388.sql. : java.util.concurrent.ExecutionException: com.databricks.sql.managedcatalog.UnityCatalogServiceException: [RequestId=d5be0519-**** ErrorClass=INVALID_PARAMETER_VALUE.ROW_COLUMN_ACCESS_POLICIES_NOT_SUPPORTED_ON_ASSIGNED_CLUSTERS] Query on table **** with row filter or column mask not supported on assigned clusters.
This is my job cluster configuration:
Can you please help me figure out when could possible cause such an error ?
Thanks a lot!
3 weeks ago
@Nes_Hdr Do you have Serverless enabled for your workspace?
3 weeks ago
@MuthuLakshmi Thank you very much for the reply!
Yes, I have serverless compute enabled on the workspace, but the cluster I am using is not serverless.
The error happens whenever access mode is "Single user" (see pictures below). It also happens when using DBR 16.
2 weeks ago
Can someone from Databricks check this out?
I am still confused why this doesn't work as it should.
2 weeks ago
Hello,
We have the same issue. Please, any solution?
2 weeks ago
Hello @Nes_Hdr ,
Do you have activated "serverless compute for workflows...." in the Databricks account?
2 weeks ago
2 weeks ago
Hi, then I don´t know what more we can do for fix this.
Please "Databricks" help
2 weeks ago
@Nes_Hdr Does this OPTIMIZE works for some tables with row filter and fail for some?
Or did it never work in Single user?
2 weeks ago
@MuthuLakshmi it never worked on any table with a row filter using a Single user access mode cluster. The same query succeeds using a shared cluster.
The problem is reproducible, you would just need to create a table and apply a row filter function on it, then try to run Optimize table_name using a single user cluser (using DBR 15.4, and serverless is enabled in the workspace) ...
2 weeks ago
@Nes_Hdr Single user compute uses fine-grained access control to access the tables with RLS/CLM enabled.
There is no specific details about OPTIMIZE being supported in Single user mode.
Under this doc limitations of FGAC mentions that
"No support for write or refresh table operations on tables that have row filters or column masks applied.
Specifically, DML operations, such as INSERT,
DELETE
, UPDATE
, REFRESH TABLE
, and MERGE
, are not supported. You can only read (SELECT
) from these tables."
https://docs.databricks.com/en/compute/single-user-fgac.html
Join a Regional User Group to connect with local Databricks users. Events will be happening in your city, and you won’t want to miss the chance to attend and share knowledge.
If there isn’t a group near you, start one and help create a community that brings people together.
Request a New Group