immutable_folder cannot be used with a mode: development target
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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.
- Langage dominant
- Go
- Étoiles
- 404
- Forks
- 246
- Merge moyen
- 1 j 14 h
- PR mergées (30 j)
- 281
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de databricks/cli
-
Apps commands only accept relative path to app.ymlPeut-être pris @yuri-rod l’a pris il y a 4 jours. OuverteCLI
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
databricks/cli#6910 ·
Les mainteneurs répondent en général sous 1 jour
-
DABs
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
databricks/cli#6670 ·
Les mainteneurs répondent en général sous 1 jour
-
DABs
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
databricks/cli#6986 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
databricks/cli#6978 ·
Les mainteneurs répondent en général sous 1 jour
-
Validation Failing with`experimental.immutable_folder: true` Despite Plan and Deploy SucceedingPeut-être pris @denik l’a pris il y a 2 jours. OuverteBug DABs engine/direct
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
databricks/cli#6960 · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de databricks/cli
Issues similaires
-
Discriminator mapping keys are listed in a random orderPeut-être pris @reuvenharrison l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Idle compaction monitors LIST the replica every tick when the newest destination file spans more than one TXIDPeut-être pris @pishuv l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
benbjohnson/litestream#1563 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
agent-research agent-review-finding chore
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
jordansmall/spindrift#4922 ·
Les mainteneurs répondent en général sous 1 jour
-
gcsartifact: deleting a missing version returns an errorPeut-être pris @ktsoator l’a pris aujourd’hui. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 2 jours