[rules-users] OOME on JPA persistence of stateful session

dan.danciu ddanciuster at gmail.com
Thu Oct 7 04:38:08 EDT 2010


Hi,

I'm trying to use JPA persistence for a stateful session (version 5.1.1),
the configuration is made using spring integration support.

During the integration tests almost always I get an OutOfMemoryException. I
chased the problem to the piece of code bellow (from
org.drools.marshalling.impl.OutputMarshaller).

The "for" statement marked "HERE" will cycle for ever (until no more memory
is left).

I also found the
http://www.mail-archive.com/rules-users@lists.jboss.org/msg12427.html
thread, I took out my split, but problem did not go away.

Cheers,
Dan


case NodeTypeEnums.ForallNotNode : {
                if ( leftTuple.getBlocker() == null ) {
                    // is not blocked so has children
                    stream.writeShort( PersisterEnums.LEFT_TUPLE_NOT_BLOCKED
);
///////////// HERE
                    for ( LeftTuple childLeftTuple = leftTuple.firstChild;
childLeftTuple != null; childLeftTuple = (LeftTuple)
leftTuple.getLeftParentNext() ) {
                        stream.writeShort( PersisterEnums.LEFT_TUPLE );
                        stream.writeInt(
childLeftTuple.getLeftTupleSink().getId() );
                        writeLeftTuple( childLeftTuple,
                                        context,
                                        recurse );
                    }
                    stream.writeShort( PersisterEnums.END );

                } else {
                    stream.writeShort( PersisterEnums.LEFT_TUPLE_BLOCKED );
                    stream.writeInt(
leftTuple.getBlocker().getFactHandle().getId() );
                }
                break;
            }
-- 
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/OOME-on-JPA-persistence-of-stateful-session-tp1647064p1647064.html
Sent from the Drools - User mailing list archive at Nabble.com.



More information about the rules-users mailing list