Hi Kenn,

Thanks for the explanation. Yes, I will test the runner directly.

Shen

On Wed, Jun 7, 2017 at 12:35 PM, Kenneth Knowles <k...@google.com.invalid>
wrote:

> Hi Shen,
>
> There are four points (at least) to why we don't currently have custom
> triggers:
>
> 1. The existing trigger state machine implementations use low-level and
> difficult APIs that are not available to users.
> 2. If we make triggers a UDF then we need to cross the Fn API. It makes a
> lot more portability work in terms of engineering and also is really the
> center of a tight loop. Instead, runners can very efficiently execute them
> directly.
> 3. There are many state machines that are not valid triggers.
> 4. Some triggers can be more efficiently executed directly from their
> syntax than from a state machine.
>
> Eventually, we may add some kind of triggering UDF. But we may not, because
> if you want something like a custom trigger for some use case, then you can
> do it with state & timers in ParDo.
>
> But it sounds like you need it for some quite specific testing. Since
> "watermark advance event" is a runner-specific concept not part of the
> model (a runner doesn't have to actually reify such events) maybe you just
> want to test your runner details directly.
>
> Kenn
>
> On Wed, Jun 7, 2017 at 10:22 AM, Shen Li <cs.she...@gmail.com> wrote:
>
> > Hi Lukasz,
> >
> > Thanks again for the suggestion. Is there any reason for not allowing
> users
> > create custom triggers?
> >
> > Shen
> >
> > On Wed, Jun 7, 2017 at 12:13 PM, Lukasz Cwik <lc...@google.com.invalid>
> > wrote:
> >
> > > You should really take a look at TestStream and have runners integrate
> > with
> > > it instead.
> > >
> > > There are already several tests which validate TestStream compatible
> > > runners to make sure their trigger evaluations are correct.
> > >
> > > On Wed, Jun 7, 2017 at 10:10 AM, Shen Li <cs.she...@gmail.com> wrote:
> > >
> > > > Hi Lukasz,
> > > >
> > > > Thanks for the suggestion. I am trying to test how the runner
> generates
> > > > watermarks. So I would like to have the trigger to fire on every
> > > watermark
> > > > advancing event.
> > > >
> > > > Shen
> > > >
> > > > On Wed, Jun 7, 2017 at 10:49 AM, Lukasz Cwik
> <lc...@google.com.invalid
> > >
> > > > wrote:
> > > >
> > > > > Look into the AfterPane#elementCountAtLeast trigger as it seems to
> be
> > > the
> > > > > closest to your description. It fires as soon as any data is
> > available.
> > > > >
> > > > > Are you sure you don't want some kind of watermark based trigger
> with
> > > > just
> > > > > with a small interval size?
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > On Wed, Jun 7, 2017 at 8:22 AM, Shen Li <cs.she...@gmail.com>
> wrote:
> > > > >
> > > > > > Hi Lukasz,
> > > > > >
> > > > > > Thanks for your response. Is it possible to implement the
> following
> > > > logic
> > > > > > using existing triggers: always fire the trigger on a
> GlobalWindow
> > > > > whenever
> > > > > > watermark advances?
> > > > > >
> > > > > > Shen
> > > > > >
> > > > > > On Wed, Jun 7, 2017 at 10:05 AM, Lukasz Cwik
> > > <lc...@google.com.invalid
> > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Users are unable to create custom trigger implementations. If
> you
> > > > tell
> > > > > us
> > > > > > > what you want your trigger to do, we may be able to suggest an
> > > > > > alternative.
> > > > > > >
> > > > > > > On Wed, Jun 7, 2017 at 7:41 AM, Shen Li <cs.she...@gmail.com>
> > > wrote:
> > > > > > >
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > I created a custom trigger class (XYZ) by extending the
> > > > OnceTrigger.
> > > > > > > During
> > > > > > > > execution, I got this error "Cannot translate trigger class
> XYZ
> > > to
> > > > a
> > > > > > > > runner-API proto." It seems that the Triggers.ProtoConverter
> > > class
> > > > > > needs
> > > > > > > to
> > > > > > > > declare a convertSpecific method for my trigger XYZ. How can
> I
> > > use
> > > > my
> > > > > > > > custom trigger without modifying Beam's Triggers class?
> > > > > > > >
> > > > > > > > Thanks,
> > > > > > > >
> > > > > > > > Shen
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to