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/05 15:37:00 UTC

[jira] [Updated] (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 updated AIRFLOW-5944:
--------------------------------
    Affects Version/s:     (was: 1.10.7)
                       1.10.10

> 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.10
>            Reporter: Kaxil Naik
>            Assignee: Kaxil Naik
>            Priority: Major
>              Labels: dag-serialization
>
> 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)