cli icon indicating copy to clipboard operation
cli copied to clipboard

CLI Claims Success Writing Downloaded DLT Pipeline Despite Pipeline Name Being Incompatible With File System

Open LeightonRJones opened this issue 9 months ago • 2 comments

Describe the issue

The CLI will use verbatim the name of the pipeline as a filename when downloading and claim success, even if the pipeline has a character (eg ':' on Windows) that is incompatible with the file-system it's saving to.

Steps to reproduce the behavior

  1. Create a pieline, and in DLT task put a ':' in the name. EG: 'Test DLT: First Test'
  2. Use the CLI on Windows: databricks bundle generate pipline --existing-pipline-id [ref]

Expected Behavior

Either;

  1. The downloaded workbook is renamed using a FS compatible replacement character - eg 'Test DLT_ First Test'
  2. or the download fails and moans about an incompatible character (less desirable)

Actual Behavior

The CLI claims success: File successfully saved to src\Test DLT: First Test.sql

OS and CLI version

Windows 10, CLI v0.241.2

Is this a regression?

Don't know.

LeightonRJones avatar Mar 19 '25 19:03 LeightonRJones

Thanks for reporting the issue.

Does it actually save a file, and if so, what's the filename you see on disk?

We should look into the filename normalization logic.

pietern avatar Mar 20 '25 08:03 pietern

Hi Pieter, Nothing gets written to disk. I wanted to put this screengrab in the report but I couldn't figure out how to do it. Thanks! [cid:f3cf474d-dab5-4707-ad1f-cc96139c400d]


From: Pieter Noordhuis @.> Sent: Thursday, March 20, 2025 2:28 AM To: databricks/cli @.> Cc: Leighton Jones @.>; Author @.> Subject: Re: [databricks/cli] CLI Claims Success Writing Downloaded DLT Pipeline Despite Pipeline Name Being Incompatible With File System (Issue #2528)

Thanks for reporting the issue.

Does it actually save a file, and if so, what's the filename you see on disk?

We should look into the filename normalization logic.

— Reply to this email directly, view it on GitHubhttps://github.com/databricks/cli/issues/2528#issuecomment-2739563210, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BHLM44EDDIFMK5WA6FYVXVT2VJ32DAVCNFSM6AAAAABZLX3FYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMZZGU3DGMRRGA. You are receiving this because you authored the thread.Message ID: @.***>

[pietern]pietern left a comment (databricks/cli#2528)https://github.com/databricks/cli/issues/2528#issuecomment-2739563210

Thanks for reporting the issue.

Does it actually save a file, and if so, what's the filename you see on disk?

We should look into the filename normalization logic.

— Reply to this email directly, view it on GitHubhttps://github.com/databricks/cli/issues/2528#issuecomment-2739563210, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BHLM44EDDIFMK5WA6FYVXVT2VJ32DAVCNFSM6AAAAABZLX3FYOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDOMZZGU3DGMRRGA. You are receiving this because you authored the thread.Message ID: @.***>

LeightonRJones avatar Mar 20 '25 19:03 LeightonRJones

This issue has not received a response in a while. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.

github-actions[bot] avatar May 20 '25 00:05 github-actions[bot]

I reproduced the issue and observed that on Windows it writes to a file named "src/Test DLT", ignoring everything from ":".

The change in #3090 performs filename normalization and converts incompatible characters to _.

pietern avatar Jun 19 '25 10:06 pietern