Hi,

It’s a cool design, I really like it !  I have two questions here. 

The first is whether do we have the complex composite triggers, i.e. nested All 
and Any. Such as :

Any( 
   All(trigger1, trigger2), 
   Any(trigger3, trigger4)
)

Can the above code work?

Another question is : In composite triggers, what’s the behavior of 
withEarlyTrigger and withLateTrigger ? For example, 

All(EventTimeTrigger.afterEndOfWindow()
                                 .withEarlyTrigger(earlyFiringTrigger),
     EventTimeTrigger.afterEndOfWindow()
                                 .withLateTrigger(lateFiringTrigger))

Is it legal? Will the earlyFiringTrigger and lateFiringTrigger both work  ? 


- Jark Wu 

> 在 2016年8月17日,上午12:24,Kostas Kloudas <k.klou...@data-artisans.com> 写道:
> 
> Hi Aljoscha,
> 
> Thanks for the feedback! 
> 
> It is a nice feature to have. The reason it is not included in the FLIP
> is that I have not seen somebody asking for something similar in the 
> mailing list.
> 
> A point that I have to add is that it seems (from the user ML) that 
> most of the times users expect the “Repeated.forever” behavior to 
> be the default. 
> 
> Given this, I would say that we should make this the default and 
> add something like “Repeat.Once” option which will just let the trigger
> fire once, e.g. the first time the counter reaches 5 in your example,
> and then stop.
> 
> In other case, the trigger specification may become too verbose,
> as the user will have to write the “Repeat.forever” for all child triggers. 
> 
> What do you think?
> 
> Kostas
> 
>> On Aug 16, 2016, at 4:38 PM, Aljoscha Krettek <aljos...@apache.org> wrote:
>> 
>> Ah, I just read the document again and noticed that it might be good to
>> differentiate between repeatable triggers and non-repeating triggers. I'm
>> proposing to make most triggers non-repeating with the addition of a
>> trigger that makes other triggers repeatable.
>> 
>> Example Non-Repeating:
>> EventTimeTrigger.pastEndOfWindow()
>> .withEarlyFiring(CountTrigger.of(5))
>> 
>> this gives me an early firing once I got 5 elements and then an on-time
>> firing once the watermark passes the end of the window.
>> 
>> Example with Repeating:
>> EventTimeTrigger.pastEndOfWindow()
>> .withEarlyFiring(Repeated.forever(CountTrigger.of(5)))
>> 
>> this gives me early firings whenever I see 5 new elements plus the
>> watermark firing.
>> 
>> What do you think?
>> 
>> On Tue, 16 Aug 2016 at 15:31 Kostas Kloudas <k.klou...@data-artisans.com>
>> wrote:
>> 
>>> Thanks Till!
>>> 
>>> Kostas
>>> 
>>>> On Aug 16, 2016, at 3:30 PM, Till Rohrmann <trohrm...@apache.org> wrote:
>>>> 
>>>> Cool design doc Klou. It's well described with a lot of details. I like
>>> it
>>>> a lot :-) +1 for implementing the trigger DSL.
>>>> 
>>>> Cheers,
>>>> Till
>>>> 
>>>> On Tue, Aug 16, 2016 at 3:18 PM, Kostas Kloudas <
>>> k.klou...@data-artisans.com
>>>>> wrote:
>>>> 
>>>>> Thanks for the feedback Ufuk!
>>>>> I will do that.
>>>>> 
>>>>>> On Aug 16, 2016, at 1:41 PM, Ufuk Celebi <u...@apache.org> wrote:
>>>>>> 
>>>>>> Hey Kostas! Thanks for sharing the documents. I think it makes sense
>>>>>> to merge the two documents by moving the Google doc contents to the
>>>>>> Wiki. I think they form one unit.
>>>>>> 
>>>>>> On Tue, Aug 16, 2016 at 12:34 PM, Kostas Kloudas
>>>>>> <k.klou...@data-artisans.com> wrote:
>>>>>>> Hi all!
>>>>>>> 
>>>>>>> I've created a FLIP for the trigger DSL. This is the triggers
>>>>>>> that we want Apache Flink to support out-of-the-box. This proposal
>>>>>>> builds on various discussions on the mailing list and aims at
>>>>>>> serving as a base for further ones.
>>>>>>> 
>>>>>>> 
>>> https://cwiki.apache.org/confluence/display/FLINK/FLIP-9%3A+Trigger+DSL
>>>>> <https://cwiki.apache.org/confluence/display/FLINK/FLIP-9:+Trigger+DSL>
>>>>>>> 
>>>>>>> FLIP-9 provides a description of the triggers Flink already offers,
>>>>>>> the new that we think should be added, how the APIs could look like,
>>>>>>> some discussion on the implementation implications and some ideas
>>>>>>> on how to implement them.
>>>>>>> 
>>>>>>> There is also a shared document giving a bit more insight on the
>>>>> implementation
>>>>>>> implications. Feel free to read but please keep the discussion in the
>>>>> mailing list.
>>>>>>> 
>>>>>>> https://docs.google.com/a/data-artisans.com/document/d/
>>>>> 1vESGQ913oR-DnE1jmFiihvLBU6_UDo-1DRgoHtSgu30/edit?usp=sharing <
>>>>> https://docs.google.com/a/data-artisans.com/document/d/
>>>>> 1vESGQ913oR-DnE1jmFiihvLBU6_UDo-1DRgoHtSgu30/edit?usp=sharing>
>>>>>>> 
>>>>>>> I would like to start working on an the implementation next week.
>>>>>>> 
>>>>>>> Let the discussion begin!
>>>>>>> 
>>>>>>> Kostas
>>>>>>> 
>>>>>>> 
>>>>> 
>>>>> 
>>> 
>>> 

Reply via email to