Hi all, interesting discussion. I would love to hear about some more
use-cases where TaskGroup needs to be something more than the UI concept.

All of Kevin's use-cases can be achieved while keeping it as a UI
concept.Xinbin can you please expand a bit on your use case.

Regards,
Kaxil

On Sat, Mar 6, 2021, 10:08 Xinbin Huang <bin.huan...@gmail.com> wrote:

> Hi Kevin, Vikram, and Nathan,
>
> I think we don't need to restrict too much on keeping TaskGroup only as a
> UI concept. We are already using TaskGroup to author DAGs and create
> dependencies, which already lies a bit outside the UI.
> To fully replace SubDagOperator, I think it's necessary to expand
> TaskGroup as a *container for tasks* than just UI concept.
>
> As for TaskGroupSensor specifically, I land with the same approach as
> Kevin, and I have created a draft PR here:
> https://github.com/apache/airflow/pull/14640
>
> Cheers
> Bin
>
> On Fri, Mar 5, 2021 at 10:00 PM Kevin Yang <yrql...@gmail.com> wrote:
>
>> Hi Vikram,
>>
>> Good point. What I had in mind was getting the TaskGroup definition in a
>> sensor, e.g. extract the _task_group field from serialized DAG, and query
>> the DB for the TI states within.
>>
>> You are right that it might not be clean nor does it keep TaskGroup as a
>> UI concept.
>>
>>
>> Cheers,
>> Kevin Y
>>
>> On Fri, Mar 5, 2021 at 8:19 PM Vikram Koka <vik...@astronomer.io.invalid>
>> wrote:
>>
>>> Kevin,
>>>
>>> I am not sure I understand your response to Nathan.
>>>
>>> I agree that it is also a valid use case, but I don't see how it can be
>>> cleanly done while keeping TaskGroup only as a UI concept.
>>> Would this require extending the TaskGroup concept to the backend?
>>>
>>> Best regards,
>>> Vikram
>>>
>>> On Fri, Mar 5, 2021 at 1:31 AM Kevin Yang <yrql...@gmail.com> wrote:
>>>
>>>> Hi Nathan,
>>>>
>>>> Thanks a lot for your input and it is indeed a valid use case. This can
>>>> be done either keeping TaskGroup as a UI concept or bringing it into the
>>>> backend. I'm curious to hear what others think.
>>>>
>>>>
>>>> Cheers,
>>>> Kevin Y
>>>>
>>>> On Thu, Mar 4, 2021 at 12:57 AM Nathan Hadfield <
>>>> nathan.hadfi...@king.com> wrote:
>>>>
>>>>> Hi Kevin,
>>>>>
>>>>>
>>>>>
>>>>> A quick piece of input from our recent experiences of working with
>>>>> TaskGroup is that we often have dependencies across DAGs that require
>>>>> waiting upon the completion of all the tasks in a group.  At the moment,
>>>>> you basically have two options:
>>>>>
>>>>>
>>>>>
>>>>>    1. Create a sensor task in a DAG for every task in the group
>>>>>    2. Create a Dummy task after the group that a sensor waits on
>>>>>
>>>>>
>>>>>
>>>>> So, I would certainly like TaskGroups to have some notion of run
>>>>> status as to better enable downstream decision making.
>>>>>
>>>>>
>>>>>
>>>>> I’ve already created a feature ticket to try to add some kind of
>>>>> TaskGroup Sensor but perhaps this can also form part of the wider
>>>>> discussions here.
>>>>>
>>>>>
>>>>>
>>>>> https://github.com/apache/airflow/issues/14563
>>>>>
>>>>>
>>>>>
>>>>> Cheers,
>>>>>
>>>>>
>>>>>
>>>>> Nathan
>>>>>
>>>>>
>>>>>
>>>>> *From: *Kevin Yang <yrql...@gmail.com>
>>>>> *Date: *Thursday, 4 March 2021 at 05:21
>>>>> *To: *dev@airflow.apache.org <dev@airflow.apache.org>
>>>>> *Subject: *[DISCUSS] TaskGroup in Tree View
>>>>>
>>>>> Hi team,
>>>>>
>>>>>
>>>>>
>>>>> We are very glad to see the introduction of TaskGroup in Airflow 2.0
>>>>> and really like it. Thanks to Yu Qian and everyone that contributed to it.
>>>>> To continue moving towards the goal of replacing SubDagOperator with
>>>>> TaskGroup, I'd like to kick off a discussion on bringing TaskGroup into
>>>>> Tree View.
>>>>>
>>>>>
>>>>>
>>>>> *Why do we need TaskGroup in Tree View?*
>>>>>
>>>>> For owners of larger DAGs, say a DAG with 500 tasks, Tree View is the
>>>>> preferred view for its loading speed and simpler representation.
>>>>> SubDagOperator is often used to provide an isolated view into a subset of
>>>>> tasks in such large DAGs. To replace such SubDag use cases, TaskGroup will
>>>>> need to support Tree View.
>>>>>
>>>>>
>>>>>
>>>>> *What should TaskGroup look like in Tree View?*
>>>>>
>>>>> We didn't have a conclusion during the 1st iteration of TaskGroup. In
>>>>> Airbnb, we use SubDag mostly for providing a zoom in view on a small set 
>>>>> of
>>>>> tasks and the SubDag zoom in feature worked well for us. We'd like to see
>>>>> TaskGroup provide a zoom in option for both Graph View and Tree View but
>>>>> also like to hear everyone's thoughts.
>>>>>
>>>>>
>>>>>
>>>>> *What needs to be in TaskGroup and what doesn't?*
>>>>>
>>>>> TaskGroup started off as a pure UI concept while SubDag is something
>>>>> more, e.g. it has its own DagRun thus isolated scheduling decisions, it 
>>>>> can
>>>>> serve as a logical isolation layer that holds different sets of DAG level
>>>>> params, etc. While we only use SubDag as a UI feature, I think it would be
>>>>> a good opportunity for us to discuss what should be TaskGroup and what
>>>>> shouldn't.
>>>>>
>>>>>
>>>>>
>>>>> Please don't hesitate to share your thoughts.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Kevin Y
>>>>>
>>>>

Reply via email to