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