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: 

Delta Live Tables - BAD_REQUEST: Pipeline cluster is not reachable.

jakub_adamik
New Contributor III

Hi all,

I have very simple pipeline:

 

-- Databricks notebook source
CREATE OR REFRESH STREAMING TABLE `catalog-prod`.default.dlt_table AS
SELECT * FROM STREAM read_files('/Volumes/catalog-prod/storage/*', format=> 'json')

-- COMMAND ----------

CREATE OR REFRESH STREAMING TABLE `catalog-prod`.default.dlt_table2 AS SELECT * FROM STREAM `catalog-prod`.default.dlt_table

 

When I manually initiate the pipeline, everything functions as intended. However, when I select tables for refresh or a full-refresh selection, the pipeline encounters an error message indicating that the pipeline cluster is unreachable, as depicted in the screenshot.

jakub_adamik_0-1740565875990.png

I’ve reproduced the issue on this simple pipeline and have encountered it in production pipelines as well. The first time I experienced it was at the beginning of this month.

Could you please assist me? Has anyone else encountered the same issue?

I appreciate your help in advance.

Full error log:

 

{
    "id": "5aa6fdd0-f427-11ef-bb95-aea0f26f3df1",
    "sequence": {
        "control_plane_seq_no": 1740563533361001
    },
    "origin": {
        "cloud": "Azure",
        "region": "westeurope",
        "org_id": 1148767584619153,
        "pipeline_id": "66a817ca-c44d-4f32-928e-68807ba63231",
        "pipeline_type": "WORKSPACE",
        "pipeline_name": "test",
        "update_id": "4ab6e5b7-b01a-4bda-8fa8-544c20cb1f1c",
        "request_id": "4ab6e5b7-b01a-4bda-8fa8-544c20cb1f1c"
    },
    "timestamp": "2025-02-26T09:52:13.357Z",
    "message": "Update 4ab6e5 is FAILED.",
    "level": "ERROR",
    "error": {
        "exceptions": [
            {
                "message": "BAD_REQUEST: Pipeline cluster is not reachable."
            }
        ],
        "internal_exceptions": [
            {
                "class_name": "com.databricks.api.base.DatabricksServiceException",
                "message": "BAD_REQUEST: Pipeline cluster is not reachable.",
                "stack": [
                    {
                        "declaring_class": "com.databricks.api.base.DatabricksServiceException$",
                        "method_name": "apply",
                        "file_name": "DatabricksServiceException.scala",
                        "line_number": 443
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.EventLoopErrorHandlerImpl$$anonfun$$nestedInanonfun$handleAPICallError$1$1",
                        "method_name": "applyOrElse",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 512
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.EventLoopErrorHandlerImpl$$anonfun$$nestedInanonfun$handleAPICallError$1$1",
                        "method_name": "applyOrElse",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 407
                    },
                    {
                        "declaring_class": "scala.PartialFunction$Lifted",
                        "method_name": "apply",
                        "file_name": "PartialFunction.scala",
                        "line_number": 228
                    },
                    {
                        "declaring_class": "scala.PartialFunction$Lifted",
                        "method_name": "apply",
                        "file_name": "PartialFunction.scala",
                        "line_number": 224
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.EventLoopErrorHandlerImpl",
                        "method_name": "calculateRecoveryActionUnbounded",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 298
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.EventLoopErrorHandlerImpl",
                        "method_name": "calculateRecoveryAction",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 239
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.EventLoopErrorHandlerImpl",
                        "method_name": "handleEventFailure",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 198
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.EventLoopErrorHandlerImpl",
                        "method_name": "handleAPICallError",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 402
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.DelegatingEventLoopErrorHandlerImpl",
                        "method_name": "handleAPICallError",
                        "file_name": "EventLoopErrorHandler.scala",
                        "line_number": 109
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "$anonfun$executeEvent$9",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 241
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "$anonfun$executeEvent$9$adapted",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 240
                    },
                    {
                        "declaring_class": "scala.PartialFunction",
                        "method_name": "applyOrElse",
                        "file_name": "PartialFunction.scala",
                        "line_number": 127
                    },
                    {
                        "declaring_class": "scala.PartialFunction",
                        "method_name": "applyOrElse$",
                        "file_name": "PartialFunction.scala",
                        "line_number": 126
                    },
                    {
                        "declaring_class": "scala.PartialFunction$$anon$1",
                        "method_name": "applyOrElse",
                        "file_name": "PartialFunction.scala",
                        "line_number": 257
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "$anonfun$executeEvent$3",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 240
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "$anonfun$executeEvent$3$adapted",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 197
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "$anonfun$withActivityInternal$12",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 829
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "$anonfun$withAttributionContext$1",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 49
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "$anonfun$withValue$1",
                        "file_name": "AttributionContext.scala",
                        "line_number": 293
                    },
                    {
                        "declaring_class": "scala.util.DynamicVariable",
                        "method_name": "withValue",
                        "file_name": "DynamicVariable.scala",
                        "line_number": 62
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "withValue",
                        "file_name": "AttributionContext.scala",
                        "line_number": 289
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 47
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext$",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 44
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withAttributionContext",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 52
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "$anonfun$withActivityInternal$2",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 829
                    },
                    {
                        "declaring_class": "com.databricks.context.integrity.IntegrityCheckContext$ThreadLocalStorage$",
                        "method_name": "withValue",
                        "file_name": "IntegrityCheckContext.scala",
                        "line_number": 73
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withActivityInternal",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 792
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withChildActivity",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 556
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withBackgroundOrChildActivity",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 345
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "$anonfun$executeEvent$1",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 197
                    },
                    {
                        "declaring_class": "scala.runtime.java8.JFunction0$mcV$sp",
                        "method_name": "apply",
                        "file_name": "JFunction0$mcV$sp.java",
                        "line_number": 23
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.logging.PipelinesLogging",
                        "method_name": "$anonfun$withAttributionTags$1",
                        "file_name": "PipelinesLogging.scala",
                        "line_number": 59
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "$anonfun$withAttributionContext$1",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 49
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "$anonfun$withValue$1",
                        "file_name": "AttributionContext.scala",
                        "line_number": 293
                    },
                    {
                        "declaring_class": "scala.util.DynamicVariable",
                        "method_name": "withValue",
                        "file_name": "DynamicVariable.scala",
                        "line_number": 62
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "withValue",
                        "file_name": "AttributionContext.scala",
                        "line_number": 289
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 47
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext$",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 44
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "withAttributionContext",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 55
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionTags",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 96
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionTags$",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 77
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "com$databricks$pipelines$deployment$server$logging$PipelinesLogging$$super$withAttributionTags",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 55
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.logging.PipelinesLogging",
                        "method_name": "withAttributionTags",
                        "file_name": "PipelinesLogging.scala",
                        "line_number": 50
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.logging.PipelinesLogging",
                        "method_name": "withAttributionTags$",
                        "file_name": "PipelinesLogging.scala",
                        "line_number": 43
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "withAttributionTags",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 55
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "executeEvent",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 172
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.SerialEventLoop",
                        "method_name": "$anonfun$executeNextEvent$3",
                        "file_name": "SerialEventLoop.scala",
                        "line_number": 187
                    },
                    {
                        "declaring_class": "scala.runtime.java8.JFunction0$mcV$sp",
                        "method_name": "apply",
                        "file_name": "JFunction0$mcV$sp.java",
                        "line_number": 23
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop",
                        "method_name": "synchronizedFor",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 100
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.SerialEventLoop",
                        "method_name": "executeNextEvent",
                        "file_name": "SerialEventLoop.scala",
                        "line_number": 173
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop$$anon$1",
                        "method_name": "$anonfun$doRun$1",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 354
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop$$anon$1",
                        "method_name": "$anonfun$doRun$1$adapted",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 343
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "$anonfun$withBackgroundActivity$8",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 705
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "$anonfun$withActivityInternal$12",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 829
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "$anonfun$withAttributionContext$1",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 49
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "$anonfun$withValue$1",
                        "file_name": "AttributionContext.scala",
                        "line_number": 293
                    },
                    {
                        "declaring_class": "scala.util.DynamicVariable",
                        "method_name": "withValue",
                        "file_name": "DynamicVariable.scala",
                        "line_number": 62
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "withValue",
                        "file_name": "AttributionContext.scala",
                        "line_number": 289
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 47
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext$",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 44
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withAttributionContext",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 52
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "$anonfun$withActivityInternal$2",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 829
                    },
                    {
                        "declaring_class": "com.databricks.context.integrity.IntegrityCheckContext$ThreadLocalStorage$",
                        "method_name": "withValue",
                        "file_name": "IntegrityCheckContext.scala",
                        "line_number": 73
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withActivityInternal",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 792
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withActivityInternal",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 774
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "$anonfun$withBackgroundActivity$6",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 703
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "$anonfun$withAttributionContext$1",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 49
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "$anonfun$withValue$1",
                        "file_name": "AttributionContext.scala",
                        "line_number": 293
                    },
                    {
                        "declaring_class": "scala.util.DynamicVariable",
                        "method_name": "withValue",
                        "file_name": "DynamicVariable.scala",
                        "line_number": 62
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "withValue",
                        "file_name": "AttributionContext.scala",
                        "line_number": 289
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 47
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext$",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 44
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withAttributionContext",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 52
                    },
                    {
                        "declaring_class": "com.databricks.logging.activity.ActivityContextFactory$",
                        "method_name": "withBackgroundActivity",
                        "file_name": "ActivityContextFactory.scala",
                        "line_number": 703
                    },
                    {
                        "declaring_class": "com.databricks.pipelines.deployment.server.loop.AbstractSerialEventLoop$$anon$1",
                        "method_name": "doRun",
                        "file_name": "AbstractSerialEventLoop.scala",
                        "line_number": 343
                    },
                    {
                        "declaring_class": "com.databricks.threading.NamedThread",
                        "method_name": "$anonfun$run$2",
                        "file_name": "NamedThread.scala",
                        "line_number": 69
                    },
                    {
                        "declaring_class": "scala.runtime.java8.JFunction0$mcV$sp",
                        "method_name": "apply",
                        "file_name": "JFunction0$mcV$sp.java",
                        "line_number": 23
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "$anonfun$withAttributionContext$1",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 49
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "$anonfun$withValue$1",
                        "file_name": "AttributionContext.scala",
                        "line_number": 293
                    },
                    {
                        "declaring_class": "scala.util.DynamicVariable",
                        "method_name": "withValue",
                        "file_name": "DynamicVariable.scala",
                        "line_number": 62
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContext$",
                        "method_name": "withValue",
                        "file_name": "AttributionContext.scala",
                        "line_number": 289
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 47
                    },
                    {
                        "declaring_class": "com.databricks.logging.AttributionContextTracing",
                        "method_name": "withAttributionContext$",
                        "file_name": "AttributionContextTracing.scala",
                        "line_number": 44
                    },
                    {
                        "declaring_class": "com.databricks.threading.NamedThread",
                        "method_name": "withAttributionContext",
                        "file_name": "NamedThread.scala",
                        "line_number": 25
                    },
                    {
                        "declaring_class": "com.databricks.threading.NamedThread",
                        "method_name": "$anonfun$run$1",
                        "file_name": "NamedThread.scala",
                        "line_number": 68
                    },
                    {
                        "declaring_class": "scala.runtime.java8.JFunction0$mcV$sp",
                        "method_name": "apply",
                        "file_name": "JFunction0$mcV$sp.java",
                        "line_number": 23
                    },
                    {
                        "declaring_class": "com.databricks.context.integrity.IntegrityCheckContext$ThreadLocalStorage$",
                        "method_name": "withValue",
                        "file_name": "IntegrityCheckContext.scala",
                        "line_number": 73
                    },
                    {
                        "declaring_class": "com.databricks.threading.NamedThread",
                        "method_name": "run",
                        "file_name": "NamedThread.scala",
                        "line_number": 67
                    }
                ]
            }
        ],
        "fatal": false
    },
    "details": {
        "update_progress": {
            "state": "FAILED"
        }
    },
    "event_type": "update_progress",
    "maturity_level": "STABLE"
}

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

jakub_adamik
New Contributor III

Hi,

thank you for your response. In the mean time I found the bug Databricks UI which caused this behaviour. I will raise ticket to Databricks. Please see the draft of the ticket bellow for workaround: 

 

We’re facing an issue with Delta Live Tables pipelines. Specifically, it prevents us from using refresh selection or full-refresh selection on tables in the catalog with the dash character ‘-‘ in their name.

To illustrate the problem, let’s consider three Databricks CLI requests.

 

> databricks pipelines start-update 66a817ca-c44d-4f32-928e-68807ba63231 —json ‘{“full_refresh_selection”: [“gbs_core-adc_prod.default.dlt_table2”]}’

> databricks pipelines start-update 66a817ca-c44d-4f32-928e-68807ba63231 —json ‘{“full_refresh_selection”: [“`gbs_core-adc_prod`.default.dlt_table2”]}’

> databricks pipelines start-update 66a817ca-c44d-4f32-928e-68807ba63231

 

 

The first DLT update fails because the catalog name contains the dash character. The second update succeeds because the catalog name is escaped. The third update succeeds because it doesn’t contain any table name in request.

 

However, the Databricks UI doesn’t escape the catalog name, so every refresh selection or full-refresh selection fails. This issue prevents us from using the Databricks UI for refresh selection or full-refresh selection. It affects all our DLT pipelines, including production ones.

 

We anticipate this issue to impact other customers with a dash character ‘-‘ in their catalog name, so we consider it a high priority.

View solution in original post

2 REPLIES 2

Edthehead
Contributor III

Can you copy paste the YAML or JSON version of your DLT pipeline so we can see all the settings you are using?

jakub_adamik
New Contributor III

Hi,

thank you for your response. In the mean time I found the bug Databricks UI which caused this behaviour. I will raise ticket to Databricks. Please see the draft of the ticket bellow for workaround: 

 

We’re facing an issue with Delta Live Tables pipelines. Specifically, it prevents us from using refresh selection or full-refresh selection on tables in the catalog with the dash character ‘-‘ in their name.

To illustrate the problem, let’s consider three Databricks CLI requests.

 

> databricks pipelines start-update 66a817ca-c44d-4f32-928e-68807ba63231 —json ‘{“full_refresh_selection”: [“gbs_core-adc_prod.default.dlt_table2”]}’

> databricks pipelines start-update 66a817ca-c44d-4f32-928e-68807ba63231 —json ‘{“full_refresh_selection”: [“`gbs_core-adc_prod`.default.dlt_table2”]}’

> databricks pipelines start-update 66a817ca-c44d-4f32-928e-68807ba63231

 

 

The first DLT update fails because the catalog name contains the dash character. The second update succeeds because the catalog name is escaped. The third update succeeds because it doesn’t contain any table name in request.

 

However, the Databricks UI doesn’t escape the catalog name, so every refresh selection or full-refresh selection fails. This issue prevents us from using the Databricks UI for refresh selection or full-refresh selection. It affects all our DLT pipelines, including production ones.

 

We anticipate this issue to impact other customers with a dash character ‘-‘ in their catalog name, so we consider it a high priority.

Join Us as a Local Community Builder!

Passionate about hosting events and connecting people? Help us grow a vibrant local community—sign up today to get started!

Sign Up Now