-
Task
-
Resolution: Done
-
Major
-
7.54.0.Final
-
None
-
2021 Week 19-21 (from May 10)
-
2
-
Undefined
-
NEW
-
NEW
Recently we constantly see a failure with ParallelEvaluationTest.testFireUntilHaltWithExpiration in CI Build Chain (ubuntu/windows and Java 8/11)
2021-05-14T09:15:25.5460826Z 09:15:25.543 [Time-limited test] WARN o.drools.core.impl.KnowledgeBaseImpl.disableMultithreadEvaluation:1009 - The rete network cannot be partitioned: disabling multithread evaluation^M 2021-05-14T09:15:25.5492217Z [cheddar]^M 2021-05-14T09:15:25.5516071Z [ERROR] Tests run: 20, Failures: 1, Errors: 0, Skipped: 2, Time elapsed: 5.657 s <<< FAILURE! - in org.drools.mvel.integrationtests.ParallelEvaluationTest^M 2021-05-14T09:15:25.5518436Z [ERROR] testFireUntilHaltWithExpiration[KieBase type=CLOUD_IDENTITY](org.drools.mvel.integrationtests.ParallelEvaluationTest) Time elapsed: 0.16 s <<< FAILURE!^M 2021-05-14T09:15:25.5519985Z java.lang.AssertionError^M 2021-05-14T09:15:25.5534091Z at org.junit.Assert.fail(Assert.java:87)^M 2021-05-14T09:15:25.5535117Z at org.junit.Assert.assertTrue(Assert.java:42)^M 2021-05-14T09:15:25.5535967Z at org.junit.Assert.assertTrue(Assert.java:53)^M 2021-05-14T09:15:25.5538333Z at org.drools.mvel.integrationtests.ParallelEvaluationTest.testFireUntilHaltWithExpiration(ParallelEvaluationTest.java:582)^M 2021-05-14T09:15:25.5545496Z at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)^M 2021-05-14T09:15:25.5555942Z at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)^M 2021-05-14T09:15:25.5557966Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)^M 2021-05-14T09:15:25.5559410Z at java.lang.reflect.Method.invoke(Method.java:498)^M 2021-05-14T09:15:25.5568210Z at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)^M 2021-05-14T09:15:25.5575590Z at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)^M 2021-05-14T09:15:25.5577540Z at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)^M 2021-05-14T09:15:25.5591195Z at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)^M 2021-05-14T09:15:25.5593165Z at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:288)^M 2021-05-14T09:15:25.5595080Z at org.junit.internal.runners.statements.FailOnTimeout$CallableStatement.call(FailOnTimeout.java:282)^M 2021-05-14T09:15:25.5600934Z at java.util.concurrent.FutureTask.run(FutureTask.java:266)^M 2021-05-14T09:15:25.5607990Z at java.lang.Thread.run(Thread.java:748)^M
This rule causes partition bias in CompositePartitionAwareObjectSinkAdapter.partitionedPropagators. For example, if you have 8 core CPU (KieExecutors.Pool.SIZE = 8), partitionedPropagators size is 8. But during rete network construction, only odd arrays are populated so getUsedPartitionsCount() returns 4. At the moment, CI Build Chain can use 2 cores so getUsedPartitionsCount() returns 1. It results in "The rete network cannot be partitioned: disabling multithread evaluation"