[JAVA-3967] Investigate MongoClientListenerRegistration test failure Created: 27/Jan/21 Updated: 30/Mar/22 |
|
| Status: | Backlog |
| Project: | Java Driver |
| Component/s: | Reactive Streams, Test Failure |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Jeffrey Yemin | Assignee: | Unassigned |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Epic Link: | Investigate flaky tests |
| Description |
|
| Comments |
| Comment by Jeffrey Yemin [ 08/Mar/21 ] |
|
Moving back to open until we have time to investigate the root cause of the test failure. For now, the test is being ignored. |
| Comment by Githook User [ 08/Mar/21 ] |
|
Author: {'name': 'Jeff Yemin', 'email': 'jeff.yemin@mongodb.com', 'username': 'jyemin'}Message: Disable event listener test in reactive streams driver This test fails intermittently in continuous integration tests. JAVA-3967 |
| Comment by Githook User [ 08/Mar/21 ] |
|
Author: {'name': 'Jeff Yemin', 'email': 'jeff.yemin@mongodb.com', 'username': 'jyemin'}Message: Disable event listener test in reactive streams driver This test fails intermittently in continuous integration tests. JAVA-3967 |
| Comment by Jeffrey Yemin [ 08/Mar/21 ] |
|
I tried re-writing the method to ensure that all the code under test was in the when clause (currently it's in the then clause, and also re-writing the mock expectations so that when one them fails it's clear which one. I ran a patch build to see if it would still fail and eventually it did: https://evergreen.mongodb.com/task/mongo_java_driver_tests_snappy_compression__version~4.0_os~linux_topology~standalone_auth~noauth_ssl~nossl_compressor~snappy_jdk~jdk8_test_patch_9932dd05c6a09142b5f95a25624e8793048b335e_60457fe53e8e86386b9a07fe_21_03_08_01_37_53##comparehashes=9932dd05c6a09142b5f95a25624e8793048b335e&threads=maxonly So re-organizing the code didn't help, but we do at least see that at least in one case it's the ServerMonitorListener expectation that fails. It's not obvious how this could be since the server monitor has to run prior to completion of running a command. Since only the driver-reactive-streams version of this test ever fails, and it fails only rarely, there must be some data race that only shows up when in async mode, but it's not clear what it could be. |