Skip to content

Rule evaluation seems to be non-deterministic #8

@juannorris

Description

@juannorris

Description of the issue

While testing the library, I noticed a behavior that seems to be non-deterministic around rules evaluation.

For the same set of rules and facts, having priorities and OnSuccess define for each rule, where the on success callback calls engine.Stop() , subsequent runs would evaluate all rules some times and only the rules up until where engine.Stop() was called other times.

I also notices another issue, which is perhaps related. When giving the engine a single rule with OnSuccess/OnFailure callbacks defined, these don't get to be executed before the engine finishes running, even though the outcome from the evaluation is the expected one. If I add a second rule with less priority than the aforementioned rule, then it works as expected.

I'll provide concrete examples as soon as I can, but creating the issue now so I don't forget about it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions