Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

immutable_folder cannot be used with a mode: development target

Ouverte
#6,963 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

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
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
go
Domaine
cli, devtools

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.

  1. A mode: development target fails validation. The development-mode uniqueness check rejects the snapshot file_path.
  2. A target cannot set experimental, so the flag cannot be turned off for the development target only.
  3. The flag ignores a bundle variable. immutable_folder: ${var.immutable} stays off when the variable is true.

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
  1. 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'
    
  2. Move the flag under the prod target (targets.prod.experimental.immutable_folder: true) and run databricks bundle validate -t prod. Result: Warning: unknown field: experimental. The flag has no effect.
  3. Set experimental.immutable_folder: ${var.immutable} with default: false, and set immutable: true in targets.prod.variables. Run databricks bundle validate -t prod -o json. Result: workspace.file_path is /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

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de databricks/cli

Toutes les issues de databricks/cli

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.