[Composer][airflow_db_cleanup] - All DAGs runs older than `max_db_entry_age_in_days` are deleted
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 55/100
Línea de trabajo
Empieza en composer/workflows/airflow_db_cleanup.py e inspecciona cómo se pasan list_dags y dag_id a build_query. Compara el cambio mostrado con el commit enlazado y verifica que la limpieza nunca produzca una consulta sin alcance; se considera terminado cuando se eliminan las ejecuciones antiguas sin borrar la última ejecución conservada de cada DAG.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In which file did you encounter the issue?
composer/workflows/airflow_db_cleanup.py
Did you change the file? If so, how?
dags = session.query(airflow_db_model.dag_id).distinct()
session.commit()
- list_dags = [str(list(dag)[0]) for dag in dags] + [None]
+ list_dags = [str(list(dag)[0]) for dag in dags]
for dag_id in list_dags:
query = build_query(
session=session,
Describe the issue
Since this commit which removed a check on whether dag_id argument is None, running the airflow_db_cleanup DAG will result in deleting all DAGs runs older than max_db_entry_age_in_days across all DAG IDs without keeping the at least the latest run for each DAG.
As shown in the logs for the final iteration [None] this generates the following query:
[2025-09-19T13:24:14.981+0000] {airflow_db_cleanup.py:378} INFO - Query: SELECT dag_run.state AS dag_run_state, dag_run.id AS dag_run_id, dag_run.dag_id AS dag_run_dag_id, dag_run.queued_at AS dag_run_queued_at,
dag_run.execution_date AS dag_run_execution_date, dag_run.start_date AS dag_run_start_date, dag_run.end_date AS dag_run_end_date, dag_run.run_id AS dag_run_run_id, dag_run.creating_job_id AS dag_run_creating_job_id,
dag_run.external_trigger AS dag_run_external_trigger, dag_run.run_type AS dag_run_run_type, dag_run.conf AS dag_run_conf, dag_run.data_interval_start AS dag_run_data_interval_start,
dag_run.data_interval_end AS dag_run_data_interval_end, dag_run.last_scheduling_decision AS dag_run_last_scheduling_decision, dag_run.dag_hash AS dag_run_dag_hash,
dag_run.log_template_id AS dag_run_log_template_id, dag_run.updated_at AS dag_run_updated_at, dag_run.clear_number AS dag_run_clear_number
FROM dag_run
WHERE dag_run.execution_date <= %(execution_date_1)s
- Lenguaje dominante
- Jupyter Notebook
- Estrellas
- 8.1k
- Forks
- 6.7k
- Merge medio
- 4 d 4 h
- PR fusionados (30 d)
- 8
Preparar el entorno
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 GoogleCloudPlatform/python-docs-samples
-
samples
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
GoogleCloudPlatform/python-docs-samples#14609 ·
Los mantenedores suelen responder en 1 día
-
samples
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
GoogleCloudPlatform/python-docs-samples#14610 ·
Los mantenedores suelen responder en 1 día
-
samples
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
GoogleCloudPlatform/python-docs-samples#14611 ·
Los mantenedores suelen responder en 1 día
-
chore(generative_ai) Update model references for generative_ai samplesQuizá libre de nuevo @XrossFox la tomó hace 152 días y no hay ningún pull request abierto. Abiertosamples
GoogleCloudPlatform/python-docs-samples#14117 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
Fix Pipeline dependency issues for geospatial-classification/serving_appQuizá libre de nuevo @XrossFox la tomó hace 164 días y no hay ningún pull request abierto. Abiertosamples
GoogleCloudPlatform/python-docs-samples#14091 · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de GoogleCloudPlatform/python-docs-samples
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
openfoodfacts/openfoodfacts-server#14724 ·
Los mantenedores suelen responder en 1 día
-
bug P2 reliability
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
afreidah/s3-orchestrator#1564 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
firebase/firebase-ios-sdk#16718 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día