mdproctor opened a new issue, #6714: URL: https://github.com/apache/incubator-kie-drools/issues/6714
## Context `BruteForceCompiledEngine` handles post-join all-facts filters (e.g. `filter((person, name) -> person.name().equals(name))` after a 2-source join) by detecting multi-arity predicates and wrapping the consumer. In the tuple-based ReteEngine, the correct approach is a `TupleFilterProcessor` that tests a predicate against the full joined `TupleImpl` chain before passing to the head processor. ## What's needed `TupleFilterProcessor<CTX>` — a `UnitProcessor` that: - Holds an N-arity predicate (ctx-last convention) - Tests the predicate against the joined tuple (traverses chain to extract N facts) - Propagates downstream only if the predicate passes - Used between the join's output and the head processor when a post-join filter is present Permuplate-generated arity variants keep this allocation-free. ## Prerequisite #6712 (ReteEngine) — requires tuple-based propagation to be in place. ## Parent epics #6684, #6639 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
