Thank you. On Tue, Apr 22, 2025 at 2:31 PM Amogh Desai <amoghdesai....@gmail.com> wrote:
> Hello Eugen, > > Yeah this is a different one. The issue you mention has been added in the > migration rules via this PR: https://github.com/apache/airflow/pull/49546 > to clarify the migration experience. > > Thanks & Regards, > Amogh Desai > > > On Tue, Apr 22, 2025 at 5:57 PM Eugen Kosteev <eu...@kosteev.com> wrote: > > > Hi Amogh. > > Thanks for your reply. > > > > Isn't this a different issue: requiring task_ids parameter or not vs if > it > > is provided as a list with one element? > > > > - Eugene > > > > On Tue, Apr 22, 2025 at 11:02 AM Amogh Desai <amoghdesai....@gmail.com> > > wrote: > > > > > Hello Eugen, > > > > > > Thanks for reaching out. We have already had a discussion about this > over > > > here > > > < > https://apache-airflow.slack.com/archives/C07813CNKA8/p1744891399213529 > > >. > > > > > > Yes, this change was intentional in Airflow 3. Here’s why: > > > > > > In Airflow 2, the xcom_pull() method allowed pulling XComs by key > without > > > specifying task_ids, despite the fact that the underlying > > > DB model defines task_id as part of the XCom primary key. This created > > > ambiguity: if two tasks pushed XComs with the same key, > > > xcom_pull() would pull whichever one happened to be first, leading to > > > unpredictable behavior. > > > > > > Airflow 3 resolves this inconsistency by requiring task_ids when > pulling > > by > > > key. This change aligns with the task-scoped nature of > > > XComs as defined by the schema, ensuring predictable and consistent > > > behavior. > > > > > > > > > We will be fixing this in a later patch release but to answer your > > > question, it is an intended change and is being handled in migration > > > guide via the PR: https://github.com/apache/airflow/pull/49455 > > > > > > > > > Thanks & Regards, > > > Amogh Desai > > > > > > > > > On Tue, Apr 22, 2025 at 2:22 PM Eugen Kosteev <eu...@kosteev.com> > wrote: > > > > > > > Hi. > > > > > > > > Sorry, if this was already discussed, I haven't found any trace in > > github > > > > issues. > > > > > > > > There is the following discrepancy in xcom_pull behavior between > > Airflow > > > 2 > > > > and 3: > > > > > > > > In case of the xcom_pull with task_ids=["{task_id}"] (list with one > > > value): > > > > - in Airflow 2 LazyXComSelectSequence is returned (with one object) > > > > - in Airflow 3 the value itself is returned > > > > > > > > Details in github issue: > > > > https://github.com/apache/airflow/issues/49540 > > > > > > > > Similar/related issue https://github.com/apache/airflow/issues/46513 > . > > > > > > > > Since it is a change in the public XCOM interface, it is quite likely > > > that > > > > it will break many DAGs. > > > > We should fix it in Airflow 3 or describe it in the migration guide > (if > > > it > > > > is intended change). > > > > > > > > Is it an intended change, or a miss? > > > > > > > > -- > > > > Eugene > > > > > > > > > > > > > -- > > Eugene > > > -- Eugene