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

Kaxil Naik updated AIRFLOW-5944:
--------------------------------
    Description: 
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.
**


  was:
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).


> 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
>
> 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)

Reply via email to