bundle validate does not catch missing trigger.table_update.condition with multiple tables
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 72/100
Direção de pesquisa
Start at the bundle validation path for job trigger configuration and inspect how table_update.table_names and condition are validated; the issue does not name specific files or tests. Reproduce with the YAML configuration in the issue, then run the relevant bundle validation tests. Done when validation reports that multiple table names require ANY_UPDATED or ALL_UPDATED, while a single table remains valid without a condition.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the issue
databricks bundle validate accepts a job whose trigger.table_update lists more than one table but sets no condition. The Jobs API then rejects that job during databricks bundle deploy, after the files have already been uploaded:
Endpoint: POST https://<workspace>/api/2.2/jobs/create
HTTP Status: 400 Bad Request
API error_code: INVALID_PARAMETER_VALUE
API message: Invalid condition: it must be one of ANY_UPDATED, ALL_UPDATED when more than one table is defined
Error: cannot create resources.jobs.my_job.permissions: dependency failed: resources.jobs.my_job
condition is optional when there is one table and required when there are two or more. validate should report that, since it can be checked without calling the API.
Configuration
resources:
jobs:
my_job:
name: my_job
trigger:
pause_status: UNPAUSED
table_update:
# condition: ANY_UPDATED <- deploy only succeeds with this line
table_names:
- main.default.table_a
- main.default.table_b
wait_after_last_change_seconds: 60
tasks:
- task_key: t
notebook_task:
notebook_path: /Workspace/Shared/some_notebook
Steps to reproduce the behavior
- Add the job above to a bundle.
- Run
databricks bundle validate. It reportsValidation OK!. - Run
databricks bundle deploy. Job creation fails with the 400 above.
Expected Behavior
databricks bundle validate fails (or at least warns) that trigger.table_update.condition must be ANY_UPDATED or ALL_UPDATED when table_names has more than one entry.
Actual Behavior
Validation passes, and the problem only shows up during deploy, as an API error after files are uploaded.
OS and CLI version
- Databricks CLI v1.20.0
- Linux (WSL2)
- Azure Databricks workspace
Is this a regression?
Not known.
- Linguagem predominante
- Go
- Estrelas
- 405
- Forks
- 250
- Merge médio
- 1d 11h
- PRs com merge (30d)
- 203
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Sem guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/cli
-
Apps commands only accept relative path to app.ymlTalvez já em andamento @yuri-rod assumiu há 16 dias. AbertaCLI
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
databricks/cli#6910 ·
Mantenedores costumam responder em até 1 dia
-
DABs
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
databricks/cli#6670 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 78/100
databricks/cli#7115 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
databricks/cli#7100 ·
Mantenedores costumam responder em até 1 dia
-
DABs Enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
databricks/cli#7099 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de databricks/cli
Issues semelhantes
-
kind/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
kubevirt/kubevirt#19559 · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
bug raised-by:verifier
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
medici-finance/assay#3817 ·
Mantenedores costumam responder em até 1 dia
-
automation models
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
gtsteffaniak/filebrowser#3244 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
QuantumNous/new-api#7930 ·
Mantenedores costumam responder em até 1 dia