[JBoss JIRA] (WFLY-2207) CLI Unable to connect using https-remoting address.
by Darran Lofthouse (JIRA)
[ https://issues.jboss.org/browse/WFLY-2207?page=com.atlassian.jira.plugin.... ]
Darran Lofthouse commented on WFLY-2207:
----------------------------------------
Additional testing: This is not just about the automatic prompt to accept unknown certificates, this error is the same if the CLI is configured to use a trust store containing the servers certificate.
> CLI Unable to connect using https-remoting address.
> ---------------------------------------------------
>
> Key: WFLY-2207
> URL: https://issues.jboss.org/browse/WFLY-2207
> Project: WildFly
> Issue Type: Bug
> Components: CLI
> Reporter: Darran Lofthouse
> Assignee: Darran Lofthouse
> Priority: Critical
> Fix For: 8.0.0.Beta1
>
>
> The CLI is failing to connect over https with the following: -
> {code}
> [disconnected /] connect https-remoting://localhost:9993
> The controller is not available at localhost:9993: java.net.ConnectException: JBAS012144: Could not connect to https-remoting://localhost:9993. The connection timed out: JBAS012144: Could not connect to https-remoting://localhost:9993. The connection timed out
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (DROOLS-280) lock-on-active broken
by Michael Anstis (JIRA)
[ https://issues.jboss.org/browse/DROOLS-280?page=com.atlassian.jira.plugin... ]
Michael Anstis moved GUVNOR-2053 to DROOLS-280:
-----------------------------------------------
Project: Drools (was: Guvnor)
Key: DROOLS-280 (was: GUVNOR-2053)
Workflow: GIT Pull Request workflow (was: classic default workflow)
Affects Version/s: (was: drools-6.0.0.CR4)
> lock-on-active broken
> ---------------------
>
> Key: DROOLS-280
> URL: https://issues.jboss.org/browse/DROOLS-280
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Reporter: Anthony Patricio
>
> Hi,
> lock-on-active is not working as expected.
> I seems to work as activation-group.
> Works fine with 5.x
> Fails with 6.0.0 CR3 and CR4
> Fact:
> public class Poc implements Serializable {
> private static final long serialVersionUID = 1L;
> private long id = 1;
> private boolean test1 = false;
> private boolean test2 = false;
> private int foundTest = 0;
> ...
> }
> Rule:
> rule "test1"
> lock-on-active
> dialect "mvel"
> when
> $poc:Poc( isTest1() )
> then
> System.out.println("test1 found");
> modify($poc) { setFoundTest($poc.getFoundTest() + 1) }
> end
> rule "test2"
> lock-on-active
> dialect "mvel"
> when
> $poc:Poc( isTest2() )
> then
> System.out.println("test2 found");
> modify($poc) { setFoundTest($poc.getFoundTest() + 1) }
> end
> Test:
> @Test
> public void lockOnActiveTest() {
> // Get the Knowledge base from the DRL file
> KieSession kSession = getSF();
>
> Poc poc = new Poc();
> poc.setTest1(true);
> poc.setTest2(true);
>
> kSession.insert(poc);
>
> // Fire the rules
> kSession.fireAllRules();
>
> assertTrue("broken",poc.getFoundTest()==2);
>
> // Clean up
> kSession.dispose();
> }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (WFLY-2203) Error deploying multiple *-ds.xml files
by Nick Howes (JIRA)
[ https://issues.jboss.org/browse/WFLY-2203?page=com.atlassian.jira.plugin.... ]
Nick Howes commented on WFLY-2203:
----------------------------------
Tried putting all the datasources into one file but no difference.
> Error deploying multiple *-ds.xml files
> ---------------------------------------
>
> Key: WFLY-2203
> URL: https://issues.jboss.org/browse/WFLY-2203
> Project: WildFly
> Issue Type: Bug
> Components: JCA
> Affects Versions: 8.0.0.Beta1
> Reporter: Nick Howes
> Assignee: Stefano Maestri
> Priority: Minor
> Fix For: 8.0.0.Final
>
>
> Our individual *-ds.xml datasources were all deploying fine in Alpha4 but in the Beta1 nightlies this error appears on startup:
> {noformat}
> 15:07:52,111 ERROR [org.jboss.msc.service] (MSC service thread 1-4) MSC000002: Invocation of listener "org.jboss.as.connector.subsystems.datasources.D
> ataSourceStatisticsListener@7d18ac99" failed: java.lang.IllegalArgumentException: JBAS014742: A node is already registered at '(deployment => *)(subsy
> stem => datasources)(data-source => *)(statistics => jdbc)'
> at org.jboss.as.controller.registry.NodeSubregistry.register(NodeSubregistry.java:86) [wildfly-controller-8.0.0.Beta1-SNAPSHOT.jar:8.0.0.Beta1
> -SNAPSHOT]
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:149) [wildfly-controller-8
> .0.0.Beta1-SNAPSHOT.jar:8.0.0.Beta1-SNAPSHOT]
> at org.jboss.as.controller.registry.AbstractResourceRegistration.registerSubModel(AbstractResourceRegistration.java:90) [wildfly-controller-8.
> 0.0.Beta1-SNAPSHOT.jar:8.0.0.Beta1-SNAPSHOT]
> at org.jboss.as.connector.subsystems.datasources.DataSourceStatisticsListener.transition(DataSourceStatisticsListener.java:72) [wildfly-connec
> tor-8.0.0.Beta1-SNAPSHOT.jar:8.0.0.Beta1-SNAPSHOT]
> at org.jboss.msc.service.ServiceControllerImpl.invokeListener(ServiceControllerImpl.java:1533) [jboss-msc-1.2.0.Beta2.jar:1.2.0.Beta2]
> {noformat}
> Our datasource files look like this. I haven't tried putting all the datasource elements into one file.
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <datasources>
> <datasource jndi-name="java:/AlphaDS" enabled="true" use-java-context="true" pool-name="AlphaDS">
> <connection-url>jdbc:oracle:thin://@db-host:1666/dev-db</connection-url>
> <driver>oracle</driver>
> <security>
> <user-name>XXX</user-name>
> <password>YYY</password>
> </security>
> <connection-property name="defaultNChar">true</connection-property>
> </datasource>
> </datasources>
> {code}
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <datasources>
> <datasource jndi-name="java:/BetaDS" enabled="true" use-java-context="true" pool-name="BetaDS">
> <connection-url>jdbc:oracle:thin://@db-host:1666/dev-db</connection-url>
> <driver>oracle</driver>
> <security>
> <user-name>XXX</user-name>
> <password>YYY</password>
> </security>
> <connection-property name="defaultNChar">true</connection-property>
> </datasource>
> </datasources>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (DROOLS-275) RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
by Mario Fusco (JIRA)
[ https://issues.jboss.org/browse/DROOLS-275?page=com.atlassian.jira.plugin... ]
Mario Fusco resolved DROOLS-275.
--------------------------------
Fix Version/s: 6.0.0.CR5
Resolution: Done
> RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
> ------------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-275
> URL: https://issues.jboss.org/browse/DROOLS-275
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.0.CR3
> Environment: Mac OS-X 10.8.5, Hotspot 1.7.0_40
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
> Fix For: 6.0.0.CR5
>
>
> I persist a KieSession via the Marshaller (serializable) with one fact/event inserted. On reload of the session, I can see that fact is still there (when I check the FactHandles) and the PseudoClock is at the correct time (the time when I persisted it). If I then insert another fact/event into this reloaded session which matches the following rule:
> rule "SimpleFactTimeWindow"
> when
> $s1: SimpleFact() from entry-point LinkyStream
> $s2: SimpleFact(this != $s1, this after [0s, 10s] $s1) from entry-point LinkyStream
> then
> System.out.println("Rule fired, found 2 Facts within the time window.");
> end
> I get a NPE (in both Phreak and ReteOO mode). Exception in Phreak:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedRight(AfterEvaluatorDefinition.java:304)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedRight(EvaluatorConstraint.java:80)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedRight(DoubleBetaConstraints.java:117)
> at org.drools.core.phreak.PhreakJoinNode.doRightInserts(PhreakJoinNode.java:150)
> at org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:56)
> at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:547)
> at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:533)
> at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:335)
> at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:162)
> at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:117)
> at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:194)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:65)
> at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:936)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1183)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:936)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:910)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:233)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:142)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Exception in ReteOO:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: org.drools.core.RuntimeDroolsException: Unexpected exception executing action org.drools.core.reteoo.PropagationQueuingNode$PropagateAction@2e3aeda
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1225)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:371)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:278)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:131)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:56)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:140)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedLeft(AfterEvaluatorDefinition.java:324)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedLeft(EvaluatorConstraint.java:67)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedLeft(DoubleBetaConstraints.java:108)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromLeft(ReteJoinNode.java:147)
> at org.drools.reteoo.nodes.ReteJoinNode.assertLeftTuple(ReteJoinNode.java:99)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:213)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:73)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromRight(ReteJoinNode.java:135)
> at org.drools.reteoo.nodes.ReteJoinNode.assertRightTuple(ReteJoinNode.java:125)
> at org.drools.reteoo.nodes.ReteBetaNodeUtils.assertObject(ReteBetaNodeUtils.java:47)
> at org.drools.reteoo.nodes.ReteJoinNode.assertObject(ReteJoinNode.java:39)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:502)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:387)
> at org.drools.core.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:430)
> at org.drools.core.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:266)
> at org.drools.core.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:592)
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1223)
> ... 12 more
> What I discovered is that this only happens when I save the KieSession to a file in one JVM and reload it in another. When I load the KieSession in the same JVM as the one in which I persisted it, there is no exception and the rule get's fired (as expected).
> I created a reproducer project for it: https://github.com/DuncanDoyle/DroolsSessionPersistenceNPE/
> I've added some Maven profiles so you can easily observe the behaviour:
> - mvn -PallRuns exec:java : this runs both the persistence and the reload in the same JVM, no exception, everything works fine.
> - mvn -PfirstRun exec:java : this runs the first part of the test, and saves the KieSession to a file.
> - mvn -PsecondRun exec:java : this runs the second part of the test, which loads the previously saved KieSession from the file and inserts a new fact, resulting in the NPE.
> All three tests can also be run in ReteOO mode by adding "-Ddrools.ruleEngine=reteoo" at the end of the command.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (DROOLS-275) RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-275?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-275:
------------------------------------------------
Mario Fusco <mfusco(a)redhat.com> made a comment on [bug 1013197|https://bugzilla.redhat.com/show_bug.cgi?id=1013197]
Fixed by https://github.com/droolsjbpm/drools/commit/fd644d3aa
> RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
> ------------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-275
> URL: https://issues.jboss.org/browse/DROOLS-275
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.0.CR3
> Environment: Mac OS-X 10.8.5, Hotspot 1.7.0_40
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
>
> I persist a KieSession via the Marshaller (serializable) with one fact/event inserted. On reload of the session, I can see that fact is still there (when I check the FactHandles) and the PseudoClock is at the correct time (the time when I persisted it). If I then insert another fact/event into this reloaded session which matches the following rule:
> rule "SimpleFactTimeWindow"
> when
> $s1: SimpleFact() from entry-point LinkyStream
> $s2: SimpleFact(this != $s1, this after [0s, 10s] $s1) from entry-point LinkyStream
> then
> System.out.println("Rule fired, found 2 Facts within the time window.");
> end
> I get a NPE (in both Phreak and ReteOO mode). Exception in Phreak:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedRight(AfterEvaluatorDefinition.java:304)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedRight(EvaluatorConstraint.java:80)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedRight(DoubleBetaConstraints.java:117)
> at org.drools.core.phreak.PhreakJoinNode.doRightInserts(PhreakJoinNode.java:150)
> at org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:56)
> at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:547)
> at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:533)
> at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:335)
> at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:162)
> at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:117)
> at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:194)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:65)
> at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:936)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1183)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:936)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:910)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:233)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:142)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Exception in ReteOO:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: org.drools.core.RuntimeDroolsException: Unexpected exception executing action org.drools.core.reteoo.PropagationQueuingNode$PropagateAction@2e3aeda
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1225)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:371)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:278)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:131)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:56)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:140)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedLeft(AfterEvaluatorDefinition.java:324)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedLeft(EvaluatorConstraint.java:67)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedLeft(DoubleBetaConstraints.java:108)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromLeft(ReteJoinNode.java:147)
> at org.drools.reteoo.nodes.ReteJoinNode.assertLeftTuple(ReteJoinNode.java:99)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:213)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:73)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromRight(ReteJoinNode.java:135)
> at org.drools.reteoo.nodes.ReteJoinNode.assertRightTuple(ReteJoinNode.java:125)
> at org.drools.reteoo.nodes.ReteBetaNodeUtils.assertObject(ReteBetaNodeUtils.java:47)
> at org.drools.reteoo.nodes.ReteJoinNode.assertObject(ReteJoinNode.java:39)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:502)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:387)
> at org.drools.core.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:430)
> at org.drools.core.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:266)
> at org.drools.core.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:592)
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1223)
> ... 12 more
> What I discovered is that this only happens when I save the KieSession to a file in one JVM and reload it in another. When I load the KieSession in the same JVM as the one in which I persisted it, there is no exception and the rule get's fired (as expected).
> I created a reproducer project for it: https://github.com/DuncanDoyle/DroolsSessionPersistenceNPE/
> I've added some Maven profiles so you can easily observe the behaviour:
> - mvn -PallRuns exec:java : this runs both the persistence and the reload in the same JVM, no exception, everything works fine.
> - mvn -PfirstRun exec:java : this runs the first part of the test, and saves the KieSession to a file.
> - mvn -PsecondRun exec:java : this runs the second part of the test, which loads the previously saved KieSession from the file and inserts a new fact, resulting in the NPE.
> All three tests can also be run in ReteOO mode by adding "-Ddrools.ruleEngine=reteoo" at the end of the command.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (DROOLS-275) RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/DROOLS-275?page=com.atlassian.jira.plugin... ]
RH Bugzilla Integration commented on DROOLS-275:
------------------------------------------------
Mario Fusco <mfusco(a)redhat.com> changed the Status of [bug 1013197|https://bugzilla.redhat.com/show_bug.cgi?id=1013197] from ASSIGNED to MODIFIED
> RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
> ------------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-275
> URL: https://issues.jboss.org/browse/DROOLS-275
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.0.CR3
> Environment: Mac OS-X 10.8.5, Hotspot 1.7.0_40
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
>
> I persist a KieSession via the Marshaller (serializable) with one fact/event inserted. On reload of the session, I can see that fact is still there (when I check the FactHandles) and the PseudoClock is at the correct time (the time when I persisted it). If I then insert another fact/event into this reloaded session which matches the following rule:
> rule "SimpleFactTimeWindow"
> when
> $s1: SimpleFact() from entry-point LinkyStream
> $s2: SimpleFact(this != $s1, this after [0s, 10s] $s1) from entry-point LinkyStream
> then
> System.out.println("Rule fired, found 2 Facts within the time window.");
> end
> I get a NPE (in both Phreak and ReteOO mode). Exception in Phreak:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedRight(AfterEvaluatorDefinition.java:304)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedRight(EvaluatorConstraint.java:80)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedRight(DoubleBetaConstraints.java:117)
> at org.drools.core.phreak.PhreakJoinNode.doRightInserts(PhreakJoinNode.java:150)
> at org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:56)
> at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:547)
> at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:533)
> at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:335)
> at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:162)
> at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:117)
> at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:194)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:65)
> at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:936)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1183)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:936)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:910)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:233)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:142)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Exception in ReteOO:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: org.drools.core.RuntimeDroolsException: Unexpected exception executing action org.drools.core.reteoo.PropagationQueuingNode$PropagateAction@2e3aeda
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1225)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:371)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:278)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:131)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:56)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:140)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedLeft(AfterEvaluatorDefinition.java:324)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedLeft(EvaluatorConstraint.java:67)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedLeft(DoubleBetaConstraints.java:108)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromLeft(ReteJoinNode.java:147)
> at org.drools.reteoo.nodes.ReteJoinNode.assertLeftTuple(ReteJoinNode.java:99)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:213)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:73)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromRight(ReteJoinNode.java:135)
> at org.drools.reteoo.nodes.ReteJoinNode.assertRightTuple(ReteJoinNode.java:125)
> at org.drools.reteoo.nodes.ReteBetaNodeUtils.assertObject(ReteBetaNodeUtils.java:47)
> at org.drools.reteoo.nodes.ReteJoinNode.assertObject(ReteJoinNode.java:39)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:502)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:387)
> at org.drools.core.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:430)
> at org.drools.core.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:266)
> at org.drools.core.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:592)
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1223)
> ... 12 more
> What I discovered is that this only happens when I save the KieSession to a file in one JVM and reload it in another. When I load the KieSession in the same JVM as the one in which I persisted it, there is no exception and the rule get's fired (as expected).
> I created a reproducer project for it: https://github.com/DuncanDoyle/DroolsSessionPersistenceNPE/
> I've added some Maven profiles so you can easily observe the behaviour:
> - mvn -PallRuns exec:java : this runs both the persistence and the reload in the same JVM, no exception, everything works fine.
> - mvn -PfirstRun exec:java : this runs the first part of the test, and saves the KieSession to a file.
> - mvn -PsecondRun exec:java : this runs the second part of the test, which loads the previously saved KieSession from the file and inserts a new fact, resulting in the NPE.
> All three tests can also be run in ReteOO mode by adding "-Ddrools.ruleEngine=reteoo" at the end of the command.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months
[JBoss JIRA] (DROOLS-275) RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
by Mario Fusco (JIRA)
[ https://issues.jboss.org/browse/DROOLS-275?page=com.atlassian.jira.plugin... ]
Mario Fusco reassigned DROOLS-275:
----------------------------------
Assignee: Mario Fusco (was: Mark Proctor)
> RuleEngine AfterEvaluator.evaluateCachedRight throws NPE on persisted Session reload (Phreak, Stream, PseudoClock)
> ------------------------------------------------------------------------------------------------------------------
>
> Key: DROOLS-275
> URL: https://issues.jboss.org/browse/DROOLS-275
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 6.0.0.CR3
> Environment: Mac OS-X 10.8.5, Hotspot 1.7.0_40
> Reporter: Duncan Doyle
> Assignee: Mario Fusco
>
> I persist a KieSession via the Marshaller (serializable) with one fact/event inserted. On reload of the session, I can see that fact is still there (when I check the FactHandles) and the PseudoClock is at the correct time (the time when I persisted it). If I then insert another fact/event into this reloaded session which matches the following rule:
> rule "SimpleFactTimeWindow"
> when
> $s1: SimpleFact() from entry-point LinkyStream
> $s2: SimpleFact(this != $s1, this after [0s, 10s] $s1) from entry-point LinkyStream
> then
> System.out.println("Rule fired, found 2 Facts within the time window.");
> end
> I get a NPE (in both Phreak and ReteOO mode). Exception in Phreak:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedRight(AfterEvaluatorDefinition.java:304)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedRight(EvaluatorConstraint.java:80)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedRight(DoubleBetaConstraints.java:117)
> at org.drools.core.phreak.PhreakJoinNode.doRightInserts(PhreakJoinNode.java:150)
> at org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:56)
> at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:547)
> at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:533)
> at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:335)
> at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:162)
> at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:117)
> at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:194)
> at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:65)
> at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:936)
> at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1183)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:936)
> at org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:910)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:233)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:142)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Exception in ReteOO:
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:297)
> at java.lang.Thread.run(Thread.java:724)
> Caused by: org.drools.core.RuntimeDroolsException: Unexpected exception executing action org.drools.core.reteoo.PropagationQueuingNode$PropagateAction@2e3aeda
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1225)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:371)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:278)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:131)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:56)
> at org.jboss.ddoyle.brms.cep.ha.management.TestScenarioRunner.secondRun(TestScenarioRunner.java:140)
> at org.jboss.ddoyle.brms.cep.ha.management.MainSecondRun.main(MainSecondRun.java:7)
> ... 6 more
> Caused by: java.lang.NullPointerException
> at org.drools.core.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedLeft(AfterEvaluatorDefinition.java:324)
> at org.drools.core.rule.constraint.EvaluatorConstraint.isAllowedCachedLeft(EvaluatorConstraint.java:67)
> at org.drools.core.common.DoubleBetaConstraints.isAllowedCachedLeft(DoubleBetaConstraints.java:108)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromLeft(ReteJoinNode.java:147)
> at org.drools.reteoo.nodes.ReteJoinNode.assertLeftTuple(ReteJoinNode.java:99)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:213)
> at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:73)
> at org.drools.reteoo.nodes.ReteJoinNode.propagateFromRight(ReteJoinNode.java:135)
> at org.drools.reteoo.nodes.ReteJoinNode.assertRightTuple(ReteJoinNode.java:125)
> at org.drools.reteoo.nodes.ReteBetaNodeUtils.assertObject(ReteBetaNodeUtils.java:47)
> at org.drools.reteoo.nodes.ReteJoinNode.assertObject(ReteJoinNode.java:39)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:502)
> at org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:387)
> at org.drools.core.reteoo.PropagationQueuingNode$AssertAction.execute(PropagationQueuingNode.java:430)
> at org.drools.core.reteoo.PropagationQueuingNode.propagateActions(PropagationQueuingNode.java:266)
> at org.drools.core.reteoo.PropagationQueuingNode$PropagateAction.execute(PropagationQueuingNode.java:592)
> at org.drools.core.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:1223)
> ... 12 more
> What I discovered is that this only happens when I save the KieSession to a file in one JVM and reload it in another. When I load the KieSession in the same JVM as the one in which I persisted it, there is no exception and the rule get's fired (as expected).
> I created a reproducer project for it: https://github.com/DuncanDoyle/DroolsSessionPersistenceNPE/
> I've added some Maven profiles so you can easily observe the behaviour:
> - mvn -PallRuns exec:java : this runs both the persistence and the reload in the same JVM, no exception, everything works fine.
> - mvn -PfirstRun exec:java : this runs the first part of the test, and saves the KieSession to a file.
> - mvn -PsecondRun exec:java : this runs the second part of the test, which loads the previously saved KieSession from the file and inserts a new fact, resulting in the NPE.
> All three tests can also be run in ReteOO mode by adding "-Ddrools.ruleEngine=reteoo" at the end of the command.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
10 years, 8 months