[SERVER-62396] Add a non-deterministic variant for `ThreadPoolTaskExecutor` tests Created: 06/Jan/22  Updated: 06/Dec/22

Status: Backlog
Project: Core Server
Component/s: Internal Code
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Major - P3
Reporter: Amirsaman Memaripour Assignee: Backlog - Service Architecture
Resolution: Unresolved Votes: 0
Labels: sa-remove-fv-backlog-22
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-58310 ThreadPoolTaskExecutor is memory unsa... Closed
Assigned Teams:
Service Arch
Participants:

 Description   

Add a new variant to ThreadPoolTaskExecutor tests, similar to ThreadPoolExecutorCommonTests, that uses a non-synchronized mocked NetworkInterface to allow races to occur in our testing environment.

Existing tests use NetworkInterfaceMockinterface, which synchronizes with the executor threads for deterministic execution of tests:

The thread acting as the "network" and the executor run thread are highly synchronized by this code, allowing for deterministic control of operation interleaving.

This synchronization does not allow data-races to show up in our testing environment, in particular under TSAN variants.


Generated at Thu Feb 08 05:55:01 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.