[JBoss JIRA] (DROOLS-1576) Intermittently Rule getting executed Twice while using Agenda Groups and Order
by Siyad Theyparambil Mohammed (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1576?page=com.atlassian.jira.plugi... ]
Siyad Theyparambil Mohammed commented on DROOLS-1576:
-----------------------------------------------------
we are using drools-7.0-01202017
> Intermittently Rule getting executed Twice while using Agenda Groups and Order
> ------------------------------------------------------------------------------
>
> Key: DROOLS-1576
> URL: https://issues.jboss.org/browse/DROOLS-1576
> Project: Drools
> Issue Type: Bug
> Reporter: Siyad Theyparambil Mohammed
> Assignee: Mario Fusco
> Attachments: CreateDedCharges-Rule.txt, CreateFLATFeeCharges-Rule.txt, CreatePSRLCreditCharges-Rule.txt, CreateRPERFeeCharges-Rule.txt, Drools-1576.zip, First Execution Result.txt, Second Execution Result.txt
>
>
> Hi,
> We have 4 rules which are divided into 2 agenda groups
> ||Rule||Agenda Group||
> |CreateRPERFeeCharges|createcharges|
> |CreateFLATFeeCharges|createcharges|
> |CreateDedCharges|createcharges|
> |CreatePSRLCreditCharges|postrule|
>
> Focus is set on the agenda group in the following order,
> 1. postrule
> 2. createcharges
> The Rule “CreatePSRLCreditCharges” has named consequences. Based on the accumulated Charge amount we want one of the two consequence to be executed. If you notice the “First Execution Result.txt” this rule was executed twice once for the “IF” and second for “ELSE” but during the second trigger of the rule execution it fired the rule only once with the same data. Could you please look/check and let us know if we have an issue with the rule or is this a bug in drools?
>
> We have attached the all the 4 drls and the results of the 2 execution that was triggered.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (DROOLS-1576) Intermittently Rule getting executed Twice while using Agenda Groups and Order
by Mario Fusco (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1576?page=com.atlassian.jira.plugi... ]
Mario Fusco commented on DROOLS-1576:
-------------------------------------
Can you also please clarify which version of drools you're using?
> Intermittently Rule getting executed Twice while using Agenda Groups and Order
> ------------------------------------------------------------------------------
>
> Key: DROOLS-1576
> URL: https://issues.jboss.org/browse/DROOLS-1576
> Project: Drools
> Issue Type: Bug
> Reporter: Siyad Theyparambil Mohammed
> Assignee: Mario Fusco
> Attachments: CreateDedCharges-Rule.txt, CreateFLATFeeCharges-Rule.txt, CreatePSRLCreditCharges-Rule.txt, CreateRPERFeeCharges-Rule.txt, Drools-1576.zip, First Execution Result.txt, Second Execution Result.txt
>
>
> Hi,
> We have 4 rules which are divided into 2 agenda groups
> ||Rule||Agenda Group||
> |CreateRPERFeeCharges|createcharges|
> |CreateFLATFeeCharges|createcharges|
> |CreateDedCharges|createcharges|
> |CreatePSRLCreditCharges|postrule|
>
> Focus is set on the agenda group in the following order,
> 1. postrule
> 2. createcharges
> The Rule “CreatePSRLCreditCharges” has named consequences. Based on the accumulated Charge amount we want one of the two consequence to be executed. If you notice the “First Execution Result.txt” this rule was executed twice once for the “IF” and second for “ELSE” but during the second trigger of the rule execution it fired the rule only once with the same data. Could you please look/check and let us know if we have an issue with the rule or is this a bug in drools?
>
> We have attached the all the 4 drls and the results of the 2 execution that was triggered.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (ELY-1209) Revisit allow, forbid and selector of sasl mechanisms in Elytron subsystem and client config file
by Darran Lofthouse (JIRA)
[ https://issues.jboss.org/browse/ELY-1209?page=com.atlassian.jira.plugin.s... ]
Darran Lofthouse reassigned ELY-1209:
-------------------------------------
Assignee: Jan Kalina (was: Darran Lofthouse)
> Revisit allow, forbid and selector of sasl mechanisms in Elytron subsystem and client config file
> -------------------------------------------------------------------------------------------------
>
> Key: ELY-1209
> URL: https://issues.jboss.org/browse/ELY-1209
> Project: WildFly Elytron
> Issue Type: Bug
> Affects Versions: 1.1.0.Beta47
> Reporter: Ondrej Lukas
> Assignee: Jan Kalina
> Priority: Critical
>
> There are some topics for revising in {{allow-all-mechanisms}}, {{allow-sasl-mechanisms}}, {{forbid-sasl-mechanisms}} and {{sasl-mechanism-selector}} of Elytron subsystem and client config file.
> 1) Since selectors have been introduced in EAP 7.1.0.DR19 what is the reason for {{allow-all-mechanisms}}, {{allow-sasl-mechanisms}} and {{forbid-sasl-mechanisms}}? AFAIK they just provides the subset of configuration which can be set by {{sasl-mechanism-selector}}. It that case {{allow-all-mechanisms}}, {{allow-sasl-mechanisms}} and {{forbid-sasl-mechanisms}} can be completely removed from Elytron configuration because they just duplicates another configuration. Or they provide something which cannot be configured by selectors?
> 2) These options are mutually exclusive in Elytron subsystem, but all of them can be configured together in Elytron client configuration file. There should be added some check for mutually exclusivity of these options in Elytron client configuration file.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (WFLY-8853) CachedConnectionManager custom operations are read-only
by Martin Simka (JIRA)
[ https://issues.jboss.org/browse/WFLY-8853?page=com.atlassian.jira.plugin.... ]
Martin Simka updated WFLY-8853:
-------------------------------
Description:
*CRITICAL: DO NOT IMPLEMENT THIS IF WFCORE-2858 IS NOT IN PLACE.* Otherwise existing behavior will regress.
Subtask for the following item from the parent issue:
{quote}
JcaCachedConnectionManagerDefinition.CcmOperations has two operations that are not declared to be read-only that are registered on the profile resource. So these are pre-existing ops that break the no-runtime-only-on-profile rule that WFCORE-389 is about rescinding. A twist with these is they seem to actually be read-only and should be described as such. But if we do that we must implement WFCORE-2858 to avoid breaking existing behavior.
{quote}
was:
*CRITICAL: DO NOT IMPLEMENT THIS IF WFCORE-2828 IS NOT IN PLACE.* Otherwise existing behavior will regress.
Subtask for the following item from the parent issue:
{quote}
JcaCachedConnectionManagerDefinition.CcmOperations has two operations that are not declared to be read-only that are registered on the profile resource. So these are pre-existing ops that break the no-runtime-only-on-profile rule that WFCORE-389 is about rescinding. A twist with these is they seem to actually be read-only and should be described as such. But if we do that we must implement WFCORE-2858 to avoid breaking existing behavior.
{quote}
> CachedConnectionManager custom operations are read-only
> -------------------------------------------------------
>
> Key: WFLY-8853
> URL: https://issues.jboss.org/browse/WFLY-8853
> Project: WildFly
> Issue Type: Sub-task
> Components: JCA
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
>
> *CRITICAL: DO NOT IMPLEMENT THIS IF WFCORE-2858 IS NOT IN PLACE.* Otherwise existing behavior will regress.
> Subtask for the following item from the parent issue:
> {quote}
> JcaCachedConnectionManagerDefinition.CcmOperations has two operations that are not declared to be read-only that are registered on the profile resource. So these are pre-existing ops that break the no-runtime-only-on-profile rule that WFCORE-389 is about rescinding. A twist with these is they seem to actually be read-only and should be described as such. But if we do that we must implement WFCORE-2858 to avoid breaking existing behavior.
> {quote}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (DROOLS-1593) Ruleflow Split (XOR) can't find valid outgoing connection
by Mario Fusco (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1593?page=com.atlassian.jira.plugi... ]
Mario Fusco commented on DROOLS-1593:
-------------------------------------
[~McCloud], unfortunately no. ForceEagerActivationOption is an internal option and then you cannot set it from the kmodule.xml.
[~swiderski.maciej], that's a reason more to merge this fix, but more in general I believe that if jbpm is always supposed to run with that option we should move it to public API and allow to configure it from the kmodule.xml as suggested by [~McCloud] or even better to automatically set it on everytime the knowledge base contains at least a process.
> Ruleflow Split (XOR) can't find valid outgoing connection
> ---------------------------------------------------------
>
> Key: DROOLS-1593
> URL: https://issues.jboss.org/browse/DROOLS-1593
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.5.0.Final, 7.0.0.CR3
> Environment: Drools 7.0.0-SNAPSHOT, Oracle Hotspot 1.8.0_112, KIE-Server, OpenShift DecisionServer
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
>
> This seems like a regression, as this used to work in 6.4.0.Final, but broke somewhere before 6.5.0.Final. Still broken in 7.0.0-SNAPSHOT. (I actually found it in the OpenShift DecisionServer/KIE-Server image).
> See this reproducer: https://github.com/DuncanDoyle/ruleflow-split-problem
> I have a ruleflow-group that has a split-node (XOR Gateway) directly after the start-node. The outgoing sequence flows of that XOR have a Drools LHS that checks whether a fact is present in working memory (in this reproducer it's a String)
> - exists java.lang.String()
> - not java.lang.String()
> Only if that fact exists do I want to continue my ruleflow, if the fact is not there, I stop.
> I use a StatelessKieSession in which I;
> - insert a String
> - start the process
> - fire the rules
> This used to work fine in 6.4.0.Final and below, but since 6.5.0.Final I get an exception:
> {code}
> org.jbpm.workflow.instance.WorkflowRuntimeException: [test-process:1 - Has Strings?:4] -- XOR split could not find at least one valid outgoing connection for split Has Strings?
> at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:66)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:174)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:367)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:326)
> at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:72)
> at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:43)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:174)
> at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:38)
> at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:235)
> at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:443)
> at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:208)
> at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:192)
> at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:184)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:1859)
> at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:121)
> at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:39)
> at org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:156)
> at org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:64)
> at org.drools.core.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:238)
> at org.jboss.ddoyle.ruleflow.test.RuleflowTest.testRuleflowWithSingleFire(RuleflowTest.java:28)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
> Caused by: java.lang.IllegalArgumentException: XOR split could not find at least one valid outgoing connection for split Has Strings?
> at org.jbpm.workflow.instance.node.SplitInstance.executeStrategy(SplitInstance.java:110)
> at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:62)
> ... 42 more
> {code}
> What seems to be causing this is that the rules in the sequence flows are not yet fired when the process arrives at the XOR node, causing it to not be able to find an outgoing connection.
> What does work is if I add an extra "fireAllRules" command BEFORE the "startProcess" command. In that case the flow behaves as it used to. So I need 2 "fireAllRules" commands. What does NOT work is when I only add a "fireAllRules" command before the startProcess command. In that case the rules in the RFG nodes are not fired (but the XOR does not throw an exception in that case).
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month
[JBoss JIRA] (DROOLS-1593) Ruleflow Split (XOR) can't find valid outgoing connection
by Mario Fusco (JIRA)
[ https://issues.jboss.org/browse/DROOLS-1593?page=com.atlassian.jira.plugi... ]
Mario Fusco commented on DROOLS-1593:
-------------------------------------
[~swiderski.maciej], ok, it was a false negative, even jenkins is green now. Please let me know if I can merge those PRs.
> Ruleflow Split (XOR) can't find valid outgoing connection
> ---------------------------------------------------------
>
> Key: DROOLS-1593
> URL: https://issues.jboss.org/browse/DROOLS-1593
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.5.0.Final, 7.0.0.CR3
> Environment: Drools 7.0.0-SNAPSHOT, Oracle Hotspot 1.8.0_112, KIE-Server, OpenShift DecisionServer
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
>
> This seems like a regression, as this used to work in 6.4.0.Final, but broke somewhere before 6.5.0.Final. Still broken in 7.0.0-SNAPSHOT. (I actually found it in the OpenShift DecisionServer/KIE-Server image).
> See this reproducer: https://github.com/DuncanDoyle/ruleflow-split-problem
> I have a ruleflow-group that has a split-node (XOR Gateway) directly after the start-node. The outgoing sequence flows of that XOR have a Drools LHS that checks whether a fact is present in working memory (in this reproducer it's a String)
> - exists java.lang.String()
> - not java.lang.String()
> Only if that fact exists do I want to continue my ruleflow, if the fact is not there, I stop.
> I use a StatelessKieSession in which I;
> - insert a String
> - start the process
> - fire the rules
> This used to work fine in 6.4.0.Final and below, but since 6.5.0.Final I get an exception:
> {code}
> org.jbpm.workflow.instance.WorkflowRuntimeException: [test-process:1 - Has Strings?:4] -- XOR split could not find at least one valid outgoing connection for split Has Strings?
> at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:66)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:174)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:367)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:326)
> at org.jbpm.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:72)
> at org.jbpm.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:43)
> at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:174)
> at org.jbpm.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:38)
> at org.jbpm.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:235)
> at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:443)
> at org.jbpm.process.instance.ProcessRuntimeImpl.startProcessInstance(ProcessRuntimeImpl.java:208)
> at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:192)
> at org.jbpm.process.instance.ProcessRuntimeImpl.startProcess(ProcessRuntimeImpl.java:184)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:1859)
> at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:121)
> at org.drools.core.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:39)
> at org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:156)
> at org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:64)
> at org.drools.core.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:238)
> at org.jboss.ddoyle.ruleflow.test.RuleflowTest.testRuleflowWithSingleFire(RuleflowTest.java:28)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
> at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
> at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
> at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
> at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
> at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
> at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
> at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
> at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
> at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:678)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
> Caused by: java.lang.IllegalArgumentException: XOR split could not find at least one valid outgoing connection for split Has Strings?
> at org.jbpm.workflow.instance.node.SplitInstance.executeStrategy(SplitInstance.java:110)
> at org.jbpm.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:62)
> ... 42 more
> {code}
> What seems to be causing this is that the rules in the sequence flows are not yet fired when the process arrives at the XOR node, causing it to not be able to find an outgoing connection.
> What does work is if I add an extra "fireAllRules" command BEFORE the "startProcess" command. In that case the flow behaves as it used to. So I need 2 "fireAllRules" commands. What does NOT work is when I only add a "fireAllRules" command before the startProcess command. In that case the rules in the RFG nodes are not fired (but the XOR does not throw an exception in that case).
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
9 years, 1 month