[jboss-jira] [JBoss JIRA] (JBRULES-3385) Rule not fired depending on the class loading order

Manuel Reinaldo Falagan (JIRA) jira-events at lists.jboss.org
Thu Feb 16 05:19:38 EST 2012


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

Manuel Reinaldo Falagan edited comment on JBRULES-3385 at 2/16/12 5:18 AM:
---------------------------------------------------------------------------

I found the problem.
When the table in LeftTupleIndexHashTable has a bucket with more than one tuple in the last position (in my case position 127), only the first tuple is returned so the iterator goes through one less case.
The method next() in LeftTupleIndexHashTable  sets the row to 128 (greater than the lenght) in the retrieval of the first tuple in bucket 127 and following tuples are not retrieved.

I don't know the solution or why the order in loading the classes affects this (may be because the hashtables change).

Is there any DROOLS expert who can take a look?
                
      was (Author: manuelreinaldo):
    I found the problem.
When the table in LeftTupleIndexHashTable has a bucket with more than one tuple in the last position (in my case position 127), only the first tuple is returned so the iterator goes through one less case.
The method next() in LeftTupleIndexHashTable  sets the row to 128 (greater than the lenght) in the retrieval the first tuple of in the bucket 127 and following tuples are not retrieved.

I don't know the solution or why the order in loading the classes affects this (may be because the hashtables change).

Is there any DROOLS expert who can take a look?
                  
> Rule not fired depending on the class loading order
> ---------------------------------------------------
>
>                 Key: JBRULES-3385
>                 URL: https://issues.jboss.org/browse/JBRULES-3385
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 5.2.0.Final, 5.3.0.Final
>         Environment: SLES11 SP1 with java 1.6.0_14-b08 (32bit and 64bit)  or XP with jdk1.6.0_22 (32 or 64 bit)
>            Reporter: Manuel Reinaldo Falagan
>            Assignee: Mark Proctor
>            Priority: Blocker
>
> A very simple example "FailTest" triggers a rule only 15 times when it should trigger it 16 times.
> The same example with almost any change to the class model or to the order in loading the classes or the input data or the version of java it works.
> The Class FailTest contains only a main method calling the main method of the Class HelloWorldExample. Running directly the main method in the class HelloWorldExample does work.
> Any change fixes the problem in the example but it moves the error to other part. We have set a test testing more than 2000 million cases of rules/inputs and no matter how we write the rules or the code, we end up finding a case that fails, making the software not usable, as it is not predictable were it is going to fail.
> The case has been uner study for more than a year and we have tried AIX, Linux and XP with DROOLS 5.1, 5.2, 5.3 and the trial of Enterprise edition. The example provided has only been tested to fail for DROOLS 5.3.0 final and Enterprise edition for SLES11 SP1 with the SUN virtual machine (not the IBM one) and for XP but there is no combination for which DROOLS work for the 2000 million cases.
> The example provided is a 7kb example self-contained ( ftp://mpf:mpf@ftp.eumetsat.int/DROOLS_ERROR.zip ) 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list