[jboss-jira] [JBoss JIRA] (DROOLS-5399) The collect/accumulate function with expired event is sensible to the order of inserted events

Gary Hu (Jira) issues at jboss.org
Tue Jun 2 12:23:02 EDT 2020


     [ https://issues.redhat.com/browse/DROOLS-5399?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Hu closed DROOLS-5399.
---------------------------
    Resolution: Done


> The collect/accumulate function with expired event is sensible to the order of inserted events
> ----------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-5399
>                 URL: https://issues.redhat.com/browse/DROOLS-5399
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 7.38.0.Final
>            Reporter: Gary Hu
>            Assignee: Mario Fusco
>            Priority: Major
>
> If the function collect/accumulate is used in the beta node(left constraint) with expired event, it's sensible to the order of events being inserted, which should not. This issue didn't happen in bpms 6.4. It occurs in rhdm 7.x.
> For example:
>                "import " + DummyEvent.class.getCanonicalName() + "\n" +
>                 "import " + OtherEvent.class.getCanonicalName() + "\n" +
>                 "import " + HashSet.class.getCanonicalName() + "\n" +
>                 "declare DummyEvent " +
>                 "@role( event ) " +
>                 "@timestamp( eventTimestamp )\n" +
>                 "@expires(0ms)" +
>                 "end\n" +
>                 "declare OtherEvent " +
>                 "@role( event ) " +
>                 "@timestamp( eventTimestamp )" +
>                 "@expires(2d)" +
>                 "end\n" +
>                 "rule R0 when\n" +
>                 "  $d: OtherEvent() \n" +
>                 "  $r: HashSet ( size >= 2 ) from collect (DummyEvent())\n" +
>                 "then\n" +
>                 "  System.out.println(\"R0 Fired\");" +
>                 "end";
> If you insert events like:
>            ksession.insert( other);
>             ksession.insert( dummyEvent0 );
>             ksession.insert( dummyEvent1);
> The rule gets fired. But if you inserts the events like:
>     ksession.insert( dummyEvent0 );
>             ksession.insert( other);
>             ksession.insert( dummyEvent1);
> The rule doesn't get fired.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list