[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2453) Marshalling issue with not rules

Uli Bubenheimer (JIRA) jira-events at lists.jboss.org
Wed Nov 17 12:25:45 EST 2010


    [ https://jira.jboss.org/browse/JBRULES-2453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12563863#comment-12563863 ] 

Uli Bubenheimer commented on JBRULES-2453:
------------------------------------------

Adding additional information from mailing list thread as requested by Edson:

For illustration, below is a little rule base which lets me reproduce the issue. The three fact types are pretty simple, and I insert 2 facts for DCMSeries and about 630 for DCMInstance. The marshalling breaks if done after inserting the facts and before a call to fireAllRules. Marshalling afterwards does not consistently exhibit this issue. Eliminating the "not" condition also "fixes" the problem.

package mypackage

import somepackage.DCMInstance
import somepackage.DCMSeries
import somepackage.StackingOrder

rule "Stack Default"
when
        DCMSeries( $suid : uid )
        DCMInstance( seriesUID == $suid, $iuid: uid )
        not StackingOrder(instanceUID == $iuid)
then
end 

> Marshalling issue with not rules
> --------------------------------
>
>                 Key: JBRULES-2453
>                 URL: https://jira.jboss.org/browse/JBRULES-2453
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-core  (expert)
>    Affects Versions: 5.1.0.M1, 5.1.1.FINAL
>            Reporter: Kris Verlaenen
>            Assignee: Edson Tirelli
>             Fix For: 5.2.0.M1
>
>
> Issue with OutputMarshaller in specific case of Not rules:
> java.lang.OutOfMemoryError: Java heap space
>         at java.util.Arrays.copyOf(Arrays.java:2786)
>         at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:94)
>         at
> java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1838)
>         at
> java.io.ObjectOutputStream$BlockDataOutputStream.write(ObjectOutputStream.java:1769)
>         at java.io.DataOutputStream.writeInt(DataOutputStream.java:182)
>         at
> java.io.ObjectOutputStream$BlockDataOutputStream.writeInt(ObjectOutputStream.java:1904)
>         at java.io.ObjectOutputStream.writeInt(ObjectOutputStream.java:769)
>         at
> org.drools.marshalling.impl.OutputMarshaller.writeLeftTuple(OutputMarshaller.java:459)
>         at
> org.drools.marshalling.impl.OutputMarshaller.writeInitialFactHandleLeftTuples(OutputMarshaller.java:356)
>         at
> org.drools.marshalling.impl.OutputMarshaller.writeFactHandles(OutputMarshaller.java:251)
>         at
> org.drools.marshalling.impl.OutputMarshaller.writeSession(OutputMarshaller.java:85)
>         at
> org.drools.marshalling.impl.DefaultMarshaller.marshall(DefaultMarshaller.java:117)

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list