[jboss-jira] [JBoss JIRA] (DROOLS-900) java.lang.IncompatibleClassChangeError error while using HashSets

Mario Fusco (JIRA) issues at jboss.org
Wed Sep 2 04:36:05 EDT 2015


     [ https://issues.jboss.org/browse/DROOLS-900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mario Fusco resolved DROOLS-900.
--------------------------------
    Fix Version/s: 6.3.0.Final
       Resolution: Done


Fixed by https://github.com/droolsjbpm/drools/commit/a2ab9d4b9

One minor performance suggestion: if I'm understanding correctly you're creating exactly the same constant sets of values again and again at each constraint evaluation. Consider to refactor this sets as static and final public fields of a Java class and refer to this fields in your constraints.

> java.lang.IncompatibleClassChangeError error while using HashSets
> -----------------------------------------------------------------
>
>                 Key: DROOLS-900
>                 URL: https://issues.jboss.org/browse/DROOLS-900
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 5.6.0.Final
>            Reporter: Pravasis Pattnaik
>            Assignee: Mario Fusco
>            Priority: Minor
>             Fix For: 6.3.0.Final
>
>         Attachments: compiled-drl.txt, req.txt
>
>
> In the compiled drl file we were using (Sets.newHashSet(e1,e2,..)).contains(input) then we get an exception java.lang.IncompatibleClassChangeError: Class XYZ does not implement the requested interface java.util.Collection on large input sets.Here XYZ is our input ruleRequest to be evaluated. If I change it to Sets.newHashSet(e1,e2,..).contains(input) it fixes everything.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the jboss-jira mailing list