You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "Kaxil Naik (Jira)" <ji...@apache.org> on 2020/03/12 11:11:00 UTC

[jira] [Resolved] (AIRFLOW-5944) Rendering templated_fields without accessing DAG files

     [ https://issues.apache.org/jira/browse/AIRFLOW-5944?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kaxil Naik resolved AIRFLOW-5944.
---------------------------------
    Fix Version/s: 1.10.10
       Resolution: Fixed

> Rendering templated_fields without accessing DAG files
> ------------------------------------------------------
>
>                 Key: AIRFLOW-5944
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-5944
>             Project: Apache Airflow
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 2.0.0, 1.10.7
>            Reporter: Kaxil Naik
>            Assignee: Kaxil Naik
>            Priority: Major
>              Labels: dag-serialization
>             Fix For: 1.10.10
>
>
> One of the limitations with the current implementation of DAG s10n is that Templated fields still need access to DAG Files.
> *Potential solution 1*: Store rendered version in the DB somewhere. 
> *Limitation*: Tasks that are not yet run won't be able to render the templated fields (this is a useful debugging aid, especially for those without CLI access to run `airflow tasks render`) .
> *Potential solution 2*: Store both rendered & unrendered version in the DB somewhere. This will allow getting past the Limitation in Solution (1). We should store only the current unrendered version and store the last X number of rendered versions. This will also have an advantage that old task would have the rendered version that was correct at that time (which is not possible currently).
> *Limitation/Issue*: Maintaining two separate tables without much benefit
> *Potential solution 3*: Store rendered version in TI table and unrendered version in a separate column in DAG serialization table. This means that each TI would have an associated rendered field without creating an extra table and duplicating dag_id, task_id & execution_date. Once we start storing different version of serialized DAGs we can have each DAG row have it's unrendered version.
> **



--
This message was sent by Atlassian Jira
(v8.3.4#803005)