Hi Shahar,
ich think this is a good extension for cases needing this withou adding
too much complexity. Whereas I am not sure whether in our environment we
have a use case. Would be good to hear from others if there are any.
Alternatives otherwise in my mind would only be adding more enum keys
for other cases (which is not really preferrable) or modelling the Dag
with a few EmptyOperators to collect pre-aggregate counts to leverage
existing enums... which would in turn create artificial Dag complexity
just because of limited enums.
For me OK but would be cool to have other opinions as well.
Jens
On 02.05.26 11:16, Shahar Epstein wrote:
Bumping, I'll appreciate your feedback.
Shahar
On Tue, Apr 21, 2026 at 2:00 PM Shahar Epstein <[email protected]> wrote:
Hey everyone,
I'd like to get your feedback on a new AIP proposal:
AIP-106: Composable Trigger Rules
https://cwiki.apache.org/confluence/x/64wmGQ
tl;dr
This proposal introduces a composable expression model for trigger rules,
enabling conditions not expressible with the current enum-based system, while
fully preserving existing trigger rules for simple cases.
For example, "All done, at least two succeeded" can be expressed as TR.expr(done="all",
success=">=2").
Design Notes/Constraints:
1. The aggregate form is AND-only by design, to preserve determinism and keep
evaluation predictable.
2. The composable model complements (rather than replaces) the enum. Some
trigger rules (e.g. ALL_DONE_SETUP_SUCCESS, ONE_DONE, ALWAYS) remain
intentionally out of scope, and enums remain the more readable option for
simple cases.
I'd appreciate your feedback on:
Backward compatibility with existing trigger rules (see Appendix A)
Semantics of eager vs complete evaluation
Scope and limits of the expression model
Potential edge cases and performance implications
UI/observability considerations for debugging expressions
Anything else
Thank you!
Shahar
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]