Here is my test project: DroolsTest.zip <http://drools.46999.n3.nabble.com/file/n4027890/DroolsTest.zip>
Change the TOTAL_OBJECTS member of Main.java to see the impact of having a large number of objects: * If you set it to 1K, everything should work fine. * If you set it to 10K, it will NPE the first time but succeed afterward. * If you set it to 100K, it will NPE every time. Thank you! Joseph Davide Sottara wrote > Could you post the full test case (rules + java)? > Thanks > Davide > > On 01/28/2014 05:10 PM, jhusby wrote: >> I'm trying to stress-test Drools to see what its limits are, and I >> stumbled >> across a NPE when I have a large amount of facts in a stateful >> knowledgebase: >> >> java.lang.NullPointerException >> at >> org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuple(PhreakTimerNode.java:355) >> at >> org.drools.core.phreak.PhreakTimerNode.doPropagateChildLeftTuples(PhreakTimerNode.java:325) >> at >> org.drools.core.phreak.PhreakTimerNode.doNode(PhreakTimerNode.java:72) >> at >> org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:357) >> at >> org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161) >> at >> org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116) >> at >> org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:200) >> at >> org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:67) >> at >> org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:935) >> at >> org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1200) >> at >> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:957) >> at >> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:931) >> at >> org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:256) >> >> I have a little program that creates, populates, fires, and destroys a >> session repeatedly. With 10K objects in the knowledge base, I get the >> NPE >> the first time I loop through my program, but not subsequently (probably >> because by the subsequent executions things have been cached). With 100K >> objects, I get the exception most times. With 1M objects, I get the NPE >> every time. >> >> Am I doing anything wrong or is it simply taking so long to execute all >> the >> rules that something times out? Is there a timeout param I could set? >> >> Thank you! >> >> Joseph -- View this message in context: http://drools.46999.n3.nabble.com/Null-Pointer-Exception-with-10K-kBase-objects-tp4027887p4027890.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users