-
Bug
-
Resolution: Done
-
Major
-
5.11.3.Final
-
None
-
-
Undefined
The Narayana implementation of the Microprofile (MP) LRA specification fails to pass consistently the MP LRA TCK when lra-coordinator is deployed to Wildfly. Different hardware results in different errors; in other words, if the LRA TCK is executed on different machines, it might fail with different exceptions.
Further information to help troubleshooting
- The common baseline seems to be related to LRAs stuck in Cancelling status, which might happen here.
- Using a SingleThreadPool as Executor (i.e. using this overload method) seems to workaround the problem (but it is not a solution as creating a SingleThreadPool for each LRA is a resource intensive task)
Stack trace of intermittent failures:
Manuel's laptop
[ERROR] Tests run: 23, Failures: 2, Errors: 0, Skipped: 0, Time elapsed: 33.324 s <<< FAILURE! - in org.eclipse.microprofile.lra.tck.TckTests
[ERROR] timeLimitWithPreConditionFailed(org.eclipse.microprofile.lra.tck.TckTests) Time elapsed: 1.326 s <<< FAILURE!
java.lang.AssertionError:
Expected 412 or 410 response
Expected: (is <412> or is <410>)
but: was <200>
at deployment.tcktests.war//org.eclipse.microprofile.lra.tck.TckTests.timeLimitWithPreConditionFailed(TckTests.java:360)
[ERROR] timeLimit(org.eclipse.microprofile.lra.tck.TckTests) Time elapsed: 1.265 s <<< FAILURE!
java.lang.AssertionError: The LRA should have timed out and compensate should be called. Expecting the number of compensate call before test is one less lower than the ones after LRA timed out. The test call went to http://127.0.0.1:8180/tcktests/lraresource/timeLimit expected:<1> but was:<0>
at deployment.tcktests.war//org.eclipse.microprofile.lra.tck.TckTests.timeLimit(TckTests.java:337)
CI
[ERROR] Failures: [ERROR] TckTests.timeLimit:337 The LRA should have timed out and compensate should be called. Expecting the number of compensate call before test is one less lower than the ones after LRA timed out. The test call went to http://127.0.0.1:8180/tcktests/lraresource/timeLimit expected:<1> but was:<0> [ERROR] TckTests.timeLimitWithPreConditionFailed:360 Expected 412 or 410 response Expected: (is <412> or is <410>) but: was <200> [INFO] [ERROR] Tests run: 133, Failures: 2, Errors: 0, Skipped: 0
Ondra's laptop
[ERROR] testCancelWhenParticipantIsRestarted(org.eclipse.microprofile.lra.tck.TckRecoveryTests) Time elapsed: 3.826 s <<< FAILURE! java.lang.AssertionError: expected:<200> but was:<503> at org.eclipse.microprofile.lra.tck.TckRecoveryTests.testCancelWhenParticipantIsRestarted(TckRecoveryTests.java:131)