phi-friday opened a new issue, #39863:
URL: https://github.com/apache/airflow/issues/39863

   ### Apache Airflow version
   
   2.9.1
   
   ### If "Other Airflow 2 version" selected, which one?
   
   _No response_
   
   ### What happened?
   
   When I modified the dataset during runtime, as shown below,
   ```python
   outlets: list[Dataset] = context["outlets"]  # pyright: 
ignore[reportTypedDictNotRequiredAccess]
   outlets[0].extra = (outlets[0].extra or {}) | {"test_value": 123}
   ```
   In XCOM, I can see these changed values.
   <img width="948" alt="스크린샷 2024-05-27 오전 9 47 18" 
src="https://github.com/apache/airflow/assets/19867547/4b780b0b-3c7c-4d75-aa93-bb215257dfdd";>
   
   However, it will look different in detail.
   <img width="1000" alt="스크린샷 2024-05-27 오전 9 47 32" 
src="https://github.com/apache/airflow/assets/19867547/74615ad2-943f-4f71-858d-8ccb976fb557";>
   
   And if I check the triggered DAG, extra is passed unchanged.
   <img width="1025" alt="스크린샷 2024-05-27 오전 9 47 45" 
src="https://github.com/apache/airflow/assets/19867547/e4fafd5a-d756-4fa3-bd44-85660bd1c4e5";>
   
   
   ### What you think should happen instead?
   
   It has to be one or the other.
   
   ### How to reproduce
   
   ```python
   from __future__ import annotations
   
   from datetime import UTC, datetime
   
   from airflow.datasets import Dataset
   from airflow.decorators import dag, task
   
   dataset = Dataset(uri="dataset_example")
   
   
   @dag(
       dag_id="append_test",
       start_date=datetime(2023, 11, 1, tzinfo=UTC),
       schedule=None,
       default_args={"do_xcom_push": False},
       catchup=False,
       max_active_runs=1,
       tags=["dataset", "example"],
   )
   def dataset_trigger_example() -> None:  # noqa: D103
       @task.python(outlets=[dataset])
       def setup_dataset() -> None:
           from airflow.operators.python import get_current_context
   
           context = get_current_context()
   
           outlets: list[Dataset] = context["outlets"]  # pyright: 
ignore[reportTypedDictNotRequiredAccess]
           outlets[0].extra = (outlets[0].extra or {}) | {"test_value": 123}
   
       _ = setup_dataset()
   
   
   @dag(
       dag_id="append_test_comsumer",
       start_date=datetime(2023, 11, 1, tzinfo=UTC),
       schedule=[dataset],
       default_args={"do_xcom_push": False},
       catchup=False,
       max_active_runs=1,
       tags=["dataset", "example"],
   )
   def dataset_consumer_example() -> None:  # noqa: D103
       @task.python()
       def echo_in_python() -> None:
           from pprint import pprint
   
           from airflow.operators.python import get_current_context
   
           context = get_current_context()
   
           pprint(context.get("triggering_dataset_events"))  # noqa: T203
   
       _ = echo_in_python()
   
   
   dataset_trigger_example()
   dataset_consumer_example()
   
   
   ```
   
   ### Operating System
   
   PRETTY_NAME="Debian GNU/Linux 12 (bookworm)" NAME="Debian GNU/Linux" 
VERSION_ID="12" VERSION="12 (bookworm)" VERSION_CODENAME=bookworm ID=debian 
HOME_URL="https://www.debian.org/"; SUPPORT_URL="https://www.debian.org/support"; 
BUG_REPORT_URL="https://bugs.debian.org/";
   
   ### Versions of Apache Airflow Providers
   
   apache-airflow-providers-celery==3.7.0
   apache-airflow-providers-common-io==1.3.1
   apache-airflow-providers-common-sql==1.13.0
   apache-airflow-providers-docker==3.11.0
   apache-airflow-providers-fab==1.1.0
   apache-airflow-providers-ftp==3.9.0
   apache-airflow-providers-http==4.11.0
   apache-airflow-providers-imap==3.6.0
   apache-airflow-providers-odbc==4.6.0
   apache-airflow-providers-postgres==5.11.0
   apache-airflow-providers-redis==3.7.0
   apache-airflow-providers-smtp==1.7.0
   apache-airflow-providers-sqlite==3.8.0
   
   ### Deployment
   
   Docker-Compose
   
   ### Deployment details
   
   _No response_
   
   ### Anything else?
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [ ] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to