I'm trying to update our application from Drools 4.0.7 to Drools 5.5 (or 5.3 if 
that's better).

All the rules compile and I am serializing the KnowledgeBase and reading it in 
upon application start-up.

Inserting facts works find.  Retracting can often return the 
NullPointerException shown below.  That clip comes from a unit test that 
literally just inserts 10 "TestFact" objects and then tries to retract them one 
at a time.  No rule firing happens, just insertion and retraction.  I did try 
adding a rule firing in between the insert and retraction loops but it made no 
difference.  These "TestFact" object don't actually trigger any rules if that 
matters.

I've tried this with both the Drools 5.5.0.Final and 5.3.0.Final jars with the 
same results.  Searches on the forum and on Google show this as a bug in 
5.5.0.Final, but say it should work in 5.3.0.Final.  It doesn't work on either 
for me.

I am going to try some variations on this test, but it seems like this should 
work as-is.

Any suggestions would be greatly appreciated.

2013-10-14 11:56:02,533 (ERROR) [AgdKnowledgeSession] caught exception trying 
to retract TestFact [name=testfact-0]
java.lang.NullPointerException
       at 
org.drools.core.util.RightTupleIndexHashTable.remove(RightTupleIndexHashTable.java:365)
       at org.drools.reteoo.NotNode.retractRightTuple(NotNode.java:172)
       at 
org.drools.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:257)
       at 
org.drools.reteoo.EntryPointNode.retractObject(EntryPointNode.java:330)
       at org.drools.common.NamedEntryPoint.retract(NamedEntryPoint.java:542)
       at org.drools.common.NamedEntryPoint.retract(NamedEntryPoint.java:486)
       at 
com.teradata.agd.AgdKnowledgeSession.retract(AgdKnowledgeSession.java:134)
       at 
com.teradata.agd.AgCoreManager.executeFactEvent(AgCoreManager.java:279)
       at 
com.teradata.agd.AgCoreManager.executeRuleEngine(AgCoreManager.java:189)
       at com.teradata.agd.AgCoreManager.enqueue(AgCoreManager.java:259)
       at com.teradata.agd.AgCoreManager.retractFact(AgCoreManager.java:480)
       at 
com.teradata.agdtest.functional.FactInsertionAndRetractionTest.testFactInsertion(FactInsertionAndRetractionTest.java:50)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       at 
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
       at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
       at 
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
       at org.testng.TestRunner.privateRun(TestRunner.java:767)
       at org.testng.TestRunner.run(TestRunner.java:617)
       at org.testng.SuiteRunner.runTest(SuiteRunner.java:335)
       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:330)
       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
       at org.testng.SuiteRunner.run(SuiteRunner.java:240)
       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
       at org.testng.TestNG.run(TestNG.java:1057)
       at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
       at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
       at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to