Skip to content

Deprecate Asset.extra and add Asset.event_extra_template #55200

@uranusjr

Description

@uranusjr

Body

Asset.extra was originally designed so users can attach additional useful information to describe an asset. We also designed AssetEvent.extra so when an event is emitted against an asset, it can contain additional data to be used in dags/tasks that are triggered by the event, or read the asset as a data inlet.

However, perhaps due to the very similar name, Asset.extra is constantly being misunderstood as some form of blueprint/template/source to AssetEvent.extra, and key-values defined on the asset should be populated into event extras against the asset.

Combined with the latest attempt to add extra templating (#54885 by @hussein-awala), I feel the confusion is much too significant for this feature. My proposal for the situation is

  1. Deprecate Asset.extra to be removed in 4.0. It is not clear whether a key-value store for static additional information is useful. Dags don’t have it, and people don’t seem to be too bothered. We can probably add doc_md etc. if needed.
  2. Add Asset.event_extra_template to re-implement Support templated extra in outlets assets #54885. Clearer name, no backward compatibility consideration needed.

Committer

  • I acknowledge that I am a maintainer/committer of the Apache Airflow project.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions