-
Type: Bug
-
Resolution: Duplicate
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Internal Code
-
Service Arch
-
ALL
-
Service Arch 2022-1-10
-
0
Shutting down the service entry point outside TSAN and ASAN builds immediately returns true without running any shutdown code. A separate interface, shutdownAndWait, is introduced to shutdown the service entry point.
bool ServiceEntryPointImpl::shutdown(Milliseconds timeout) { #if __has_feature(address_sanitizer) || __has_feature(thread_sanitizer) // When running under address sanitizer, we get false positive leaks due to disorder around // the lifecycle of a connection and request. When we are running under ASAN, we try a lot // harder to dry up the server from active connections before going on to really shut down. return shutdownAndWait(timeout); #else return true; #endif }
We should remove the special-case handling in shutdown and have it run the body of shutdownAndWait. This would also obviate the need for shutdownAndWait.
Acceptance criteria: Change the code to have #if at the higher level of the stack. Make sure we link these to the relevant shutdown project.
- is related to
-
SERVER-54353 Wait for ServiceExecutorFixed to join in ServiceStateMachineTest
- Closed
-
SERVER-63678 Implement a new SBE PlanStage for $lookup HJ algorithm
- Closed
-
SERVER-63674 Create a server parameter for ServiceEntryPointImpl::shutdownAndWait
- Closed
- related to
-
SERVER-62402 Ignore timeouts when running `ServiceEntryPointImpl::shutdown` under sanitizers
- Closed