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

ParallelEvaluationTest.testFireUntilHaltWithExpiration2 fails with lower amount of processors

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • 7.7.0.Final
    • core engine
    • None
    • NEW
    • NEW

      The test ParallelEvaluationTest.testFireUntilHaltWithExpiration2 fails randomly, when the machine on which it is run has smaller amount of processors (tested with 2). It fails because the engine doesn't produce expected amount of rule fires, so the test waits on a CountDownLatch. One idea what happens is that one agenda thread expires events from second agenda on some race condition. But that is a first guess after looking at the code.

      Steps to reproduce:
      1. Change the number of parallel partitions to 2 here [1]
      2. Rebuild drools-core
      3. Run the test from PR [2] few times.

      [1] https://github.com/kiegroup/drools/blob/63ea870c89591dfeae1276f582d825670fe7ec3a/drools-core/src/main/java/org/drools/core/common/RuleBasePartitionId.java#L31
      [2] https://github.com/kiegroup/drools/pull/1843

              mfusco@redhat.com Mario Fusco
              tzimanyi@redhat.com Tibor Zimányi
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: