The issue with unbounded tests that rely on triggers/late data/early
firings/processing time is that these are several sources of
non-determinism. The sources make non-deterministic decisions around when
to produce data, checkpoint, and resume and runners make non-deterministic
decisions around when to output elements, in which order, and when to
evaluate triggers. UsesTestStream is the best set of tests we currently
have for making non-deterministic processing decisions deterministic but
are more difficult to write then the other ValidatesRunner tests and also
not well supported because of the special nature of UsesTestStream needing
special hooks within the runner to control when to output and when to
advance time.

I'm not aware of any tests that we currently have that run a non
deterministic pipeline and evaluate it against all possible outcomes that
could have been produced and check that the output was valid. We would
welcome ideas in how to improve this space to get more runners being tested
for non-deterministic pipelines.

On Thu, Apr 4, 2019 at 3:36 AM Jozsef Bartok <jo...@hazelcast.com> wrote:

> Hi.
>
> My name is Jozsef, I've been working on Runners based on Hazelcast Jet.
> Plural because we have both an "old-style" and a "portable" Runner in
> development (https://github.com/hazelcast/hazelcast-jet-beam-runner).
>
> While our portable one isn't even functional yet, the "old-style" type of
> Runner is a bit more mature. It handles only bounded data, but for that
> case it passes all Beam tests of ValidatesRunner category and runs the
> Nexmark suite successfully too (I'm refering only to correctness, because
> performance is not yet where it can be, we aren't doing any Pipeline
> surgery yet and no other optimizations either).
>
> Since a few days we have started extending it for unbounded data, so we
> have started adding support for things like triggers, watermarks and such
> and we are wondering how come we can't find ValidatesRunner tests specific
> to unbounded data. Tests from the UsesTestStream category seem to be kind
> of a candidate for this, but they have nowhere near the coverage and
> completeness provided by the ValidatesRunner ones.
>
> I think we are missing something and I don't know what... Could you pls.
> advise?
>
> Rgds,
> Jozsef
>

Reply via email to