|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
every unit test.
This patch does several loosely related and surprisingly hard to separate things.
1.) Make the ServiceContext class final
2.) Create a mechanism, called ConstructorActions, for running methods on
ServiceContexts immediately after they're built and immediately before they're
destroyed.
3.) Introduce / improve test fixture base classes for tests, giving them fresh
ServiceContext instances for each test case. There is one fixture for tests that
need a storage engine and another for those that do not.
4.) Make several remaining global variables SC decorations in support of (3)
5.) Replace many MONGO_INITIALIZERS that access getGlobalServiceContext with the
new constructor-actions system, which is needed for (3.)
6.) Fix up tests to use the fixtures from (3) and fix tests that silently used
different service contexts in together in a technically illegal fashion that now
breaks.
7.) Utilize (2) as necessary to simplify initialization of new ServiceContexts,
simplifying the fixtures in (3).
(cherry picked from commit d520be0814492c262515cf0a5d62a127ace70dce)
SERVER-35985 Destroy clients started in other threads.
(cherry picked from commit 9a68eb0cc65a93233b4ff5746330f9eb77de9b90)
SERVER-36258 Construct ServiceContext after mongo initializers complete.
(cherry picked from commit bfe170e49b1dc10b2badde45bc13c057a2f8ab61)
SERVER-36400 Explicitly destroy the client on exiting run() of each BackgroundJob
(cherry picked from commit b079e4713d897b5541c2804386025817ec720800)
SERVER-36351 Fix so ServiceContextMongoDTest removes the temp directory in its destructor.
(cherry picked from commit 4c16f0f336f4db77034e8aa594bbd4a5bac3f40c)
SERVER-36347 Fix parse_zone_info.py after ServiceContext refactor.
(cherry picked from commit c9d4204b6243e5eee6fe0b5e2c34d02af9ac5edb)
|