Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-900

java.lang.IncompatibleClassChangeError error while using HashSets

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 6.3.0.Final
    • 5.6.0.Final
    • core engine
    • None
    • Hide

      1. compiled-drl.txt is the compiled drl where we would use a template for the rule "Promotion Attach Rule" which we usually have around 5000 rules. I have attached a small subset.
      2. req.txt is the request that we fire up. We usually have 200 rules under the json object "ruleRequests" and each of them would have 50 "categoryRates" under the sailing. I have attached a small subset.
      3. Evaluating these against the rule would end up with the IncompatibleClassChangeError at around 20-21st "ruleRequest" evaluation.

      Show
      1. compiled-drl.txt is the compiled drl where we would use a template for the rule "Promotion Attach Rule" which we usually have around 5000 rules. I have attached a small subset. 2. req.txt is the request that we fire up. We usually have 200 rules under the json object "ruleRequests" and each of them would have 50 "categoryRates" under the sailing. I have attached a small subset. 3. Evaluating these against the rule would end up with the IncompatibleClassChangeError at around 20-21st "ruleRequest" evaluation.
    • Workaround Exists
    • Hide

      If I change it to Sets.newHashSet(e1,e2,..).contains(input) it fixes everything.

      Show
      If I change it to Sets.newHashSet(e1,e2,..).contains(input) it fixes everything.
    • NEW
    • NEW

      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.

        1. compiled-drl.txt
          11 kB
        2. req.txt
          3 kB

              mfusco@redhat.com Mario Fusco
              pravasis Pravasis Pattnaik (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: