"Duplicate tag keys are not allowed" when updating table tag keys

All tag keys must be lower case after 19th November 2024.

Written by daniel.ruiz

Last published at: January 30th, 2025

Problem

As of November 19, 2024, you notice your jobs are setting a tag for a specific table according to the following structure.

 

ALTER TABLE customer.profile.activity_by_guid 
SET TAGS('LOB' = 'Non-Specific')

 

This same ALTER TABLE worked without issue before November 19. When you check your driver logs, you see the following exception. 

 

2024/11/19 19:06:16.270 WARN com.databricks.elasticspark.runoutput.PersistedRunOutputHelper$[tenant=XXXX traceId=XXXX spanId=XXXX requestId=XXXX serverEventId=XXXX parentServerEventId=XXXX thread=jobsApiStorageThreadPool-47]: Failed to parse [RequestId=XXXX ErrorClass=INVALID_PARAMETER_VALUE.INVALID_PARAMETER_VALUE] Duplicate tag keys are not allowed
JVM stacktrace:
com.databricks.sql.managedcatalog.UnityCatalogServiceException

 

Cause

Databricks started enabling case sensitivity in workspaces as of November 19, 2024. All new tag keys created need to be lower case. All existing tags need to be converted to lower case.

 

This policy change is why “LOB” fails with the SET TAG command, even though “LOB” exists on the table.

 

Solution

Use lower case when setting tag keys. 

 

ALTER TABLE customer.profile.activity_by_guid 
SET TAGS ('lob' = 'Non-Specific')