immutable_folder cannot be used with a mode: development target
Los mantenedores suelen responder en 1 día
@andrewnester ya está trabajando en esto.
Desde el 9/10/2026.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Go
- Estrellas
- 404
- Forks
- 246
- Merge medio
- 1 d 14 h
- PR fusionados (30 d)
- 281
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de databricks/cli
-
Apps commands only accept relative path to app.ymlPosiblemente ocupada @yuri-rod la tomó hace 5 días. AbiertoCLI
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
databricks/cli#6910 ·
Los mantenedores suelen responder en 1 día
-
DABs
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
databricks/cli#6670 ·
Los mantenedores suelen responder en 1 día
-
DABs
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
databricks/cli#7002 ·
Los mantenedores suelen responder en 1 día
-
DABs
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
databricks/cli#6986 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
databricks/cli#6978 ·
Los mantenedores suelen responder en 1 día
Todos los issues de databricks/cli
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
duplication
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
openvibely/openvibely#1443 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
canonical/service-mesh#845 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
keyxmakerx/Chronicle#1179 ·
Los mantenedores suelen responder en 1 día