[Red Hat JIRA] (DROOLS-4605) DMN alpha network
by Luca Molteni (Jira)
[ https://issues.redhat.com/browse/DROOLS-4605?page=com.atlassian.jira.plug... ]
Luca Molteni updated DROOLS-4605:
---------------------------------
Sprint: 2020 Week 34-36 (from Aug 17), 2020 Week 46-48 (from Nov 9), 2020 Week 49-51 (from Nov 30), 2020 Week 52-03 (from Dec 21), 2021 Week 07-09 (from Feb 15) (was: 2020 Week 34-36 (from Aug 17), 2020 Week 46-48 (from Nov 9), 2020 Week 49-51 (from Nov 30), 2020 Week 52-03 (from Dec 21), 2021 Week 04-06 (from Jan 25))
> DMN alpha network
> -----------------
>
> Key: DROOLS-4605
> URL: https://issues.redhat.com/browse/DROOLS-4605
> Project: Drools
> Issue Type: Story
> Components: dmn engine
> Reporter: Matteo Mortari
> Assignee: Luca Molteni
> Priority: Major
>
> *Motivation*: a DMN decision table can be evaluated faster than naive algorithm by translating it into a Rete/Phreak, but the current kie7 approach is suffering from performance bottleneck artificially induced by use of kie7 rule units, which provide more harm than benefit to perfomance (performance is actually worst for most "realistic" cases).
> *Goals*: a POC to understand what’s need to be done to support the alpha network compiler (wihout kie7 rule units) in DMN. We currently estimate it will take us 1 to 2 summer sprints and the output will be more epics to implement this feature.
> *Impact*: alpha network compiler code refactors for the better use of.
> One part of the POC was to hard-code the alpha network for a specific table ([DROOLS-4566]) the remained of the poc is to generalize the approach further to fully assess the impacts thanks to the poc.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (WFCORE-4827) Errors Missing on Invalid Configuration
by Bartosz Spyrko-Smietanko (Jira)
[ https://issues.redhat.com/browse/WFCORE-4827?page=com.atlassian.jira.plug... ]
Bartosz Spyrko-Smietanko commented on WFCORE-4827:
--------------------------------------------------
Thank you [~brian.stansberry], Below is the output of standalone boot. In this case the boot operation is rolled back via https://github.com/wildfly/wildfly-core/blob/master/controller/src/main/j...
{noformat}
08:05:17,630 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("management-interface" => "http-interface")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.http-upgrade-registry.http-management"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.remoting.remoting-http-upgrade-service.http-management is missing [jboss.http-upgrade-registry.http-management]"]
}
08:05:17,683 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("security-realm" => "ldap_security_realm")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.server.path.\"jboss.server.config.dir22\""],
"WFLYCTL0180: Services with missing/unavailable dependencies" => ["org.wildfly.core.management.security.realm.ldap_security_realm.key-manager is missing [jboss.server.path.\"jboss.server.config.dir22\"]"]
}
08:05:17,684 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("security-realm" => "ldap_security_realm")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.server.path.\"jboss.server.config.dir22\""],
"WFLYCTL0180: Services with missing/unavailable dependencies" => ["org.wildfly.core.management.security.realm.ldap_security_realm.key-manager is missing [jboss.server.path.\"jboss.server.config.dir22\"]"]
}
08:05:17,684 ERROR [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0459: Triggering roll back due to missing management services.
08:05:17,685 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
("core-service" => "management"),
("management-interface" => "http-interface")
]) - failure description: {
"WFLYCTL0412: Required services that are not installed:" => ["jboss.http-upgrade-registry.http-management"],
"WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.remoting.remoting-http-upgrade-service.http-management is missing [jboss.http-upgrade-registry.http-management]"]
} {noformat}
Another option could be having the ServiceVerificationHelper report indirect missing services if there are no direct dependencies missing rather then silently failing. That might add some extra logging in some cases though.
> Errors Missing on Invalid Configuration
> ---------------------------------------
>
> Key: WFCORE-4827
> URL: https://issues.redhat.com/browse/WFCORE-4827
> Project: WildFly Core
> Issue Type: Bug
> Components: Security
> Affects Versions: 11.0.0.Beta7
> Reporter: Darran Lofthouse
> Assignee: Richard Opalka
> Priority: Critical
> Labels: domain-mode
>
> [~ropalka] I believe this is caused by the MSC refactoring.
> Steps, in the default host.xml for domain mode.
> 1. Define the following security realm: -
> {noformat}
> <security-realms>
> <security-realm name="ldap_security_realm">
> <server-identities>
> <ssl>
> <keystore path="generated.keystore" relative-to="jboss.server.config.dir" keystore-password="password" alias="server" key-password="password" generate-self-signed-certificate-host="localhost"/>
> </ssl>
> </server-identities>
> <authentication>
> <ldap connection="testLdap" base-dn="dc=test,dc=sbc,dc=com" recursive="true">
> <username-filter attribute="samaccountname"/>
> </ldap>
> </authentication>
> </security-realm>
> {noformat}
> 2. Define the following outbound connection: -
> {noformat}
> <outbound-connections>
> <ldap name="testLdap" url="ldap://localhost:636" search-dn="CN=mxxxxxx,OU=GenericID,OU=testUsers,DC=testServices,DC=test,DC=com" search-credential="passowrd" />
> </outbound-connections>
> {noformat}
> 3. Update the management interfaces to: -
> {noformat}
> <management-interfaces>
> <http-interface security-realm="ldap_security_realm">
> <http-upgrade enabled="true"/>
> <socket interface="management" port="${jboss.management.http.port:9990}"/>
> </http-interface>
> </management-interfaces>
> {noformat}
> The server fails to boot with just the following error: -
> {noformat}
> [Host Controller] 17:56:40,052 FATAL [org.jboss.as.host.controller] (Controller Boot Thread) WFLYHC0034: Host Controller boot has failed in an unrecoverable manner; exiting. See previous messages for details.
> {noformat}
> If the management interface is then updated to reference the ManagementRealm instead the error is now: -
> {noformat}
> [Host Controller] 18:01:48,595 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([
> [Host Controller] ("host" => "master"),
> [Host Controller] ("core-service" => "management"),
> [Host Controller] ("security-realm" => "ldap_security_realm")
> [Host Controller] ]) - failure description: {
> [Host Controller] "WFLYCTL0412: Required services that are not installed:" => ["jboss.server.path.\"jboss.server.config.dir\""],
> [Host Controller] "WFLYCTL0180: Services with missing/unavailable dependencies" => ["org.wildfly.core.management.security.realm.ldap_security_realm.key-manager is missing [jboss.server.path.\"jboss.server.config.dir\"]"]
> [Host Controller] }
> {noformat}
> This error is expected as the realm defined in step 1 referenced an invalid path.
> I believe the error reporting should come from this method: -
> org.jboss.as.controller.ServiceVerificationHelper.execute(OperationContext, ModelNode)
> However something seems to have changes with the MSC migration.
> This was recently encountered debugging the bug report in https://issues.redhat.com/browse/WFCORE-4820, if you see an error "Multiple CallbackHandlerServices for the same mechanism (PLAIN)" that has been covered by WFCORE-4820.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6025) UnsupportedOperationException when using forall inside accumulate
by Martin Panzer (Jira)
[ https://issues.redhat.com/browse/DROOLS-6025?page=com.atlassian.jira.plug... ]
Martin Panzer updated DROOLS-6025:
----------------------------------
Description:
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code, and is attached to this issue.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
{code}
was:
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code, and is attached to this issue.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
Process finished with exit code 1
{code}
> UnsupportedOperationException when using forall inside accumulate
> -----------------------------------------------------------------
>
> Key: DROOLS-6025
> URL: https://issues.redhat.com/browse/DROOLS-6025
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.49.0.Final
> Reporter: Martin Panzer
> Assignee: Mario Fusco
> Priority: Major
> Attachments: drool-uoe-repro.zip
>
>
> I use the PatternDSL to dynamicly generate new rules based on user input.
> In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
> This worked fine in 7.48.0.Final.
> In 7.49.0.Final, this throws the exception from below.
> For reference, this is an shortened example of the code. The full reproducer contains this code, and is attached to this issue.
> {code:java}
> ViewItem<?> forallRule = PatternDSL.and(
> PatternDSL.forall(//
> PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
> ));
> Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
> ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
> D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
> return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
> {code}
> {code:java}
> Exception in thread "main" java.lang.UnsupportedOperationException
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
> at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
> at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
> at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
> at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
> at com.acme.Main.compile(Main.java:68)
> at com.acme.Main.main(Main.java:29)
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6025) UnsupportedOperationException when using forall inside accumulate
by Martin Panzer (Jira)
[ https://issues.redhat.com/browse/DROOLS-6025?page=com.atlassian.jira.plug... ]
Martin Panzer updated DROOLS-6025:
----------------------------------
Description:
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code, and is attached to this issue.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
Process finished with exit code 1
{code}
was:
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code in executable form, and is attached.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
Process finished with exit code 1
{code}
> UnsupportedOperationException when using forall inside accumulate
> -----------------------------------------------------------------
>
> Key: DROOLS-6025
> URL: https://issues.redhat.com/browse/DROOLS-6025
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.49.0.Final
> Reporter: Martin Panzer
> Assignee: Mario Fusco
> Priority: Major
> Attachments: drool-uoe-repro.zip
>
>
> I use the PatternDSL to dynamicly generate new rules based on user input.
> In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
> This worked fine in 7.48.0.Final.
> In 7.49.0.Final, this throws the exception from below.
> For reference, this is an shortened example of the code. The full reproducer contains this code, and is attached to this issue.
> {code:java}
> ViewItem<?> forallRule = PatternDSL.and(
> PatternDSL.forall(//
> PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
> ));
> Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
> ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
> D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
> return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
> {code}
> {code:java}
> Exception in thread "main" java.lang.UnsupportedOperationException
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
> at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
> at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
> at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
> at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
> at com.acme.Main.compile(Main.java:68)
> at com.acme.Main.main(Main.java:29)
> Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
> Process finished with exit code 1
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6025) UnsupportedOperationException when using forall inside accumulate
by Mario Fusco (Jira)
[ https://issues.redhat.com/browse/DROOLS-6025?page=com.atlassian.jira.plug... ]
Mario Fusco updated DROOLS-6025:
--------------------------------
Sprint: 2021 Week 07-09 (from Feb 15)
> UnsupportedOperationException when using forall inside accumulate
> -----------------------------------------------------------------
>
> Key: DROOLS-6025
> URL: https://issues.redhat.com/browse/DROOLS-6025
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.49.0.Final
> Reporter: Martin Panzer
> Assignee: Mario Fusco
> Priority: Major
> Attachments: drool-uoe-repro.zip
>
>
> I use the PatternDSL to dynamicly generate new rules based on user input.
> In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
> This worked fine in 7.48.0.Final.
> In 7.49.0.Final, this throws the exception from below.
> For reference, this is an shortened example of the code. The full reproducer contains this code, and is attached to this issue.
> {code:java}
> ViewItem<?> forallRule = PatternDSL.and(
> PatternDSL.forall(//
> PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
> ));
> Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
> ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
> D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
> return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
> {code}
> {code:java}
> Exception in thread "main" java.lang.UnsupportedOperationException
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
> at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
> at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
> at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
> at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
> at com.acme.Main.compile(Main.java:68)
> at com.acme.Main.main(Main.java:29)
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6025) UnsupportedOperationException when using forall inside accumulate
by Martin Panzer (Jira)
[ https://issues.redhat.com/browse/DROOLS-6025?page=com.atlassian.jira.plug... ]
Martin Panzer updated DROOLS-6025:
----------------------------------
Description:
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code in executable form, and is attached.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
Process finished with exit code 1
{code}
was:
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code in executable form.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
Process finished with exit code 1
{code}
> UnsupportedOperationException when using forall inside accumulate
> -----------------------------------------------------------------
>
> Key: DROOLS-6025
> URL: https://issues.redhat.com/browse/DROOLS-6025
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.49.0.Final
> Reporter: Martin Panzer
> Assignee: Mario Fusco
> Priority: Major
> Attachments: drool-uoe-repro.zip
>
>
> I use the PatternDSL to dynamicly generate new rules based on user input.
> In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
> This worked fine in 7.48.0.Final.
> In 7.49.0.Final, this throws the exception from below.
> For reference, this is an shortened example of the code. The full reproducer contains this code in executable form, and is attached.
> {code:java}
> ViewItem<?> forallRule = PatternDSL.and(
> PatternDSL.forall(//
> PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
> ));
> Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
> ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
> D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
> return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
> {code}
> {code:java}
> Exception in thread "main" java.lang.UnsupportedOperationException
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
> at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
> at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
> at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
> at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
> at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
> at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
> at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
> at com.acme.Main.compile(Main.java:68)
> at com.acme.Main.main(Main.java:29)
> Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
> Process finished with exit code 1
> {code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6025) UnsupportedOperationException when using forall inside accumulate
by Martin Panzer (Jira)
Martin Panzer created DROOLS-6025:
-------------------------------------
Summary: UnsupportedOperationException when using forall inside accumulate
Key: DROOLS-6025
URL: https://issues.redhat.com/browse/DROOLS-6025
Project: Drools
Issue Type: Bug
Affects Versions: 7.49.0.Final
Reporter: Martin Panzer
Assignee: Mario Fusco
Attachments: drool-uoe-repro.zip
I use the PatternDSL to dynamicly generate new rules based on user input.
In some cases, generated rules can contain an forall inside of an accumulator (D.accumulate).
This worked fine in 7.48.0.Final.
In 7.49.0.Final, this throws the exception from below.
For reference, this is an shortened example of the code. The full reproducer contains this code in executable form.
{code:java}
ViewItem<?> forallRule = PatternDSL.and(
PatternDSL.forall(//
PatternDSL.pattern(grandV).expr(grand -> "A".equals(grand.getName()))//
));
Variable<Integer> matchesSum = PatternDSL.declarationOf(Integer.class);
ExprViewItem<Object> accumulate = D.accumulate(PatternDSL.and(PatternDSL.pattern(childV), forallRule),
D.accFunction(IntegerSumAccumulateFunction.class, PatternDSL.valueOf(1)).as(matchesSum));
return PatternDSL.and(accumulate, PatternDSL.expr(matchesSum, (sum) -> sum == 1));
{code}
{code:java}
Exception in thread "main" java.lang.UnsupportedOperationException
at org.drools.modelcompiler.KiePackagesBuilder.conditionToGroupElementType(KiePackagesBuilder.java:1119)
at org.drools.modelcompiler.KiePackagesBuilder.recursivelyAddConditions(KiePackagesBuilder.java:622)
at org.drools.modelcompiler.KiePackagesBuilder.buildAccumulate(KiePackagesBuilder.java:578)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:490)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.conditionToElement(KiePackagesBuilder.java:476)
at org.drools.modelcompiler.KiePackagesBuilder.addSubConditions(KiePackagesBuilder.java:658)
at org.drools.modelcompiler.KiePackagesBuilder.populateLHS(KiePackagesBuilder.java:446)
at org.drools.modelcompiler.KiePackagesBuilder.compileRule(KiePackagesBuilder.java:246)
at org.drools.modelcompiler.KiePackagesBuilder.build(KiePackagesBuilder.java:217)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:80)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:74)
at org.drools.modelcompiler.builder.KieBaseBuilder.createKieBaseFromModel(KieBaseBuilder.java:60)
at com.acme.Main.compile(Main.java:68)
at com.acme.Main.main(Main.java:29)
Disconnected from the target VM, address: '127.0.0.1:59601', transport: 'socket'
Process finished with exit code 1
{code}
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-5973) Java enum values don't match DNM enumerations when input passed as POJO
by Matteo Mortari (Jira)
[ https://issues.redhat.com/browse/DROOLS-5973?page=com.atlassian.jira.plug... ]
Matteo Mortari updated DROOLS-5973:
-----------------------------------
Sprint: 2021 Week 07-09 (from Feb 15)
> Java enum values don't match DNM enumerations when input passed as POJO
> -----------------------------------------------------------------------
>
> Key: DROOLS-5973
> URL: https://issues.redhat.com/browse/DROOLS-5973
> Project: Drools
> Issue Type: Bug
> Components: dmn engine
> Affects Versions: 7.48.0.Final
> Reporter: Andrew K
> Assignee: Matteo Mortari
> Priority: Minor
>
> When passing an input object into the DMN engine as a POJO, enumerations represented in the POJO as Java enums do not correctly match DMN string enumerations.
> This can be worked around by converting the input to a Map using Jackson:
> {code:java}
> new ObjectMapper().convertValue(pojo, Map.class){code}
> but this should not be necessary.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6019) Using Java 8 stream lambda in RHS leads to compilation error
by Luca Molteni (Jira)
[ https://issues.redhat.com/browse/DROOLS-6019?page=com.atlassian.jira.plug... ]
Luca Molteni commented on DROOLS-6019:
--------------------------------------
[~cmayrdorn] it might be ready by this fall.
We plan to leverage the new `drools-mvel-compiler` to rewrite the consequences even without using the executable model, but it'll take some times and thorough testing.
> Using Java 8 stream lambda in RHS leads to compilation error
> -------------------------------------------------------------
>
> Key: DROOLS-6019
> URL: https://issues.redhat.com/browse/DROOLS-6019
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.32.0.Final, 7.49.0.Final
> Reporter: Christoph Mayr-Dorn
> Assignee: Luca Molteni
> Priority: Major
> Attachments: DroolsLambdaDemo.zip
>
>
> When using a lambda expression in the left hand side, any variable that is first used after the lambda expression is not added as a method parameter of (defaultConsequence), and leads to error of the following type:
> Exception in thread "main" java.lang.RuntimeException: Rule Base Build Errors:Exception in thread "main" java.lang.RuntimeException: Rule Base Build Errors:Error Messages:Message [id=1, kieBase=defaultKieBase, level=ERROR, path=rules/demo.drl, line=9, column=0 text=Rule Compilation error $other cannot be resolved]---Warning Messages:---Info Messages:
> at demo.StartDemo.createKsessionFromFiles(StartDemo.java:51) at demo.StartDemo.main(StartDemo.java:20)
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months
[Red Hat JIRA] (DROOLS-6019) Using Java 8 stream lambda in RHS leads to compilation error
by Christoph Mayr-Dorn (Jira)
[ https://issues.redhat.com/browse/DROOLS-6019?page=com.atlassian.jira.plug... ]
Christoph Mayr-Dorn commented on DROOLS-6019:
---------------------------------------------
Many thanks for checking out this issue so quickly. As the refered issue DROOLS-4397 was part of a spring in 2019, any idea when that aspect will be incorporated in a future release?
> Using Java 8 stream lambda in RHS leads to compilation error
> -------------------------------------------------------------
>
> Key: DROOLS-6019
> URL: https://issues.redhat.com/browse/DROOLS-6019
> Project: Drools
> Issue Type: Bug
> Affects Versions: 7.32.0.Final, 7.49.0.Final
> Reporter: Christoph Mayr-Dorn
> Assignee: Luca Molteni
> Priority: Major
> Attachments: DroolsLambdaDemo.zip
>
>
> When using a lambda expression in the left hand side, any variable that is first used after the lambda expression is not added as a method parameter of (defaultConsequence), and leads to error of the following type:
> Exception in thread "main" java.lang.RuntimeException: Rule Base Build Errors:Exception in thread "main" java.lang.RuntimeException: Rule Base Build Errors:Error Messages:Message [id=1, kieBase=defaultKieBase, level=ERROR, path=rules/demo.drl, line=9, column=0 text=Rule Compilation error $other cannot be resolved]---Warning Messages:---Info Messages:
> at demo.StartDemo.createKsessionFromFiles(StartDemo.java:51) at demo.StartDemo.main(StartDemo.java:20)
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 2 months