We have a program that validates large amount of data. When changing this program to use drools 6.0.1 instead of 5.5.0, this GC overhead limit exceeded problem occurred. Program reads one object to memory, then validate it and then retract it. This is repeated thousands of times.
java version "1.7.0_45" java options: JVM_ARGS="$JVM_ARGS -Xmx256m" JVM_ARGS="$JVM_ARGS -XX:+HeapDumpOnOutOfMemoryError" JVM_ARGS="$JVM_ARGS -XX:HeapDumpPath=/home/heapdumps" I also tried different java garbage collection options: -XX:+UseSerialGC, -XX:+UseParallelGC and -XX:+UseConcMarkSweepGC, but it did not help. Heapdump says that: One instance of "org.drools.core.reteoo.JoinNodeLeftTuple" loaded by "sun.misc.Launcher$AppClassLoader @ 0xf03a13a8" occupies 203,920,080 (98.40%) bytes. This error is reproduced with rules below. These rules add one object to memory, then there is one rule that evaluates that object, and after that the object is retracted. This is repeated in continuous loop, but memory runs out soon. package com.cat declare ValidationError jee : String end declare cat2 name : String age : Integer end rule 'add cat2' dialect 'mvel' salience 3000 when not(exists(cat2())) then System.out.println("insert cat2"); $p = new cat2() insert ($p); modify ($p){ name = "mau" }; end rule 'this rule does not fire' dialect 'mvel' salience 4500 when $k1 : cat2($name : name != "miau") $k2 : cat2($nameofcat2 : name == "miau") then modify ($k1){ name = $nameofcat2 }; modify ($k2){ name = ("miau") }; System.out.println("this rule does not fire"); end rule 'retract cat2' dialect 'mvel' salience -50 when $c2 : cat2() then retract($c2); System.out.println("retract cat2"); end query "getValidationErrors" validationError: ValidationError() end -- View this message in context: http://drools.46999.n3.nabble.com/Drools-6-0-1-GC-overhead-limit-exceeded-even-though-objects-are-retracted-tp4027803.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