immutable_folder cannot be used with a mode: development target
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start by tracing how experimental.immutable_folder is parsed and resolved, then inspect the development-mode uniqueness validation that rejects the snapshot file_path; the issue names no source files or tests. Reproduce with the supplied configuration using databricks bundle validate -t dev and -t prod. Done means the supported behavior is implemented and validation handles the dev and production targets as expected.
由索引模型根据 Issue 内容生成。
描述
Describe the issue
experimental.immutable_folder: true cannot be used in a bundle that has a target with mode: development.
- A
mode: developmenttarget fails validation. The development-mode uniqueness check rejects the snapshotfile_path. - A target cannot set
experimental, so the flag cannot be turned off for the development target only. - The flag ignores a bundle variable.
immutable_folder: ${var.immutable}stays off when the variable istrue.
So a bundle with a development target and a shared production target cannot use the feature. Together with #6960, which blocks bundle validate when a top-level permissions block is present, the usual dev and prod bundle layout cannot adopt immutable_folder.
Configuration
bundle:
name: immutable-dev-repro
engine: direct
experimental:
immutable_folder: true
resources:
jobs:
hello:
name: hello
tasks:
- task_key: hello
environment_key: default
spark_python_task:
python_file: ./src/hello.py
environments:
- environment_key: default
spec:
environment_version: "2"
targets:
dev:
mode: development
default: true
prod:
mode: production
workspace:
root_path: /Workspace/Shared/immutable-dev-repro/prod
Steps to reproduce the behavior
- Run
databricks bundle validate -t dev. Result:Error: file_path must start with '~/' or contain the current username to ensure uniqueness when using 'mode: development' - Move the flag under the
prodtarget (targets.prod.experimental.immutable_folder: true) and rundatabricks bundle validate -t prod. Result:Warning: unknown field: experimental. The flag has no effect. - Set
experimental.immutable_folder: ${var.immutable}withdefault: false, and setimmutable: trueintargets.prod.variables. Rundatabricks bundle validate -t prod -o json. Result:workspace.file_pathis/Workspace/Shared/immutable-dev-repro/prod/files, not a snapshot path. The flag stays off.
Expected Behavior
One of these:
- The development-mode check accepts the snapshot
file_path, because each snapshot is already unique. - A target can set
experimental.immutable_folder, so development can keep it off. - The flag resolves a bundle variable.
Actual Behavior
The development target fails validation, and there is no supported way to turn the flag on only for non-development targets.
OS and CLI version
Databricks CLI v1.18.0, macOS. The 1.19.0 release notes do not mention immutable_folder.
Is this a regression?
No. immutable_folder is new.
Debug Logs
The validation error in step 1 is the only output. I can attach --log-level=debug output on request.
- 主要语言
- Go
- 星标
- 404
- 派生
- 246
- 平均合并
- 1 天 14 小时
- 30 天内合并 PR
- 281
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 没有贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
databricks/cli 的其他 Issue
-
Apps commands only accept relative path to app.yml可能已有人在做 @yuri-rod 于 5 天前认领。 未关闭CLI
难度 2/5 1-3 小时 新手友好度 82/100
databricks/cli#6910 ·
维护者通常 1 天内回复
-
DABs
难度 2/5 1-3 小时 新手友好度 68/100
databricks/cli#6670 ·
维护者通常 1 天内回复
-
DABs
难度 4/5 3-5 天 新手友好度 35/100
databricks/cli#6986 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 55/100
databricks/cli#6978 ·
维护者通常 1 天内回复
-
Validation Failing with`experimental.immutable_folder: true` Despite Plan and Deploy Succeeding可能已有人在做 @denik 于 2 天前认领。 未关闭Bug DABs engine/direct
难度 3/5 1-2 天 新手友好度 68/100
databricks/cli#6960 · 已指派 1 人 ·
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 85/100
mvanhorn/cli-printing-press#4980 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
-
priority: p3 type: feat
难度 2/5 1-3 小时 新手友好度 62/100
googleapis/librarian#7775 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
OpenTollGate/tollgate-module-basic-go#833 ·
维护者通常 1 天内回复
-
documentation
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复