| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
| |
decoration through service context (global if needed).
This reverts commit a8fddd07a740e959646995ef93139887b3b3eb5c.
|
|
|
|
|
|
| |
getting decoration through service context (global if needed)."
This reverts commit 7d37a75df3f6035a7afcb51123b88f0e99308fc8.
|
|
|
|
| |
decoration through service context (global if needed).
|
| |
|
| |
|
|
|
|
| |
New shim libraries to check fsync write lock and repair database on mmapv1 to break dependency chain.
|
| |
|
| |
|
| |
|
|
|
|
| |
and document keys
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Ensures that a collection lock is held in at least MODE_IS while
deregistering a PlanExecutor from the cursor manager. Introduces new
PlanExecutor::dispose() and ClientCursor::dispose() methods that must be
called before destruction of those classes, and ensures they are called
before destruction. These calls will thread an OperationContext all the
way through to DocumentSource::dispose() for each stage in a Pipeline,
which will give DocumentSourceCursor a chance to acquire locks and
deregister its PlanExecutor if necessary.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Removes the class 'ScopedTransaction' and moves the responsibility of
abandoning the snapshot onto the GlobalLock class. Also renames the
AutoGetCollectionForRead class to AutoGetCollectionForReadCommand, and
adds a new AutoGetCollectionForRead class. Unlike
AutoGetCollectionForReadCommand, this new class will not update the
namespace on the CurrentOp object, nor will it add an entry to Top.
|
|
|
|
|
|
| |
This commit is an automated rename of all whole word instances of txn,
_txn, and txnPtr to opCtx, _opCtx, and opCtxPtr, respectively in all
.cpp and .h files in src/mongo.
|
|
|
|
|
|
| |
holds the global lock
This reverts commit 3e5314c3f2be49666ca5d7aa766c934ba7d6cbe9.
|
|
|
|
| |
This reverts commit befb3ab22daa1f6e0db54af4caa426cfca1b7cd2.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mongo::globalInShutdownDeprecated() for clarity.
Calling this function is deprecated because modules that consult it
cannot engage in an orderly, coordinated shutdown. Instead, such
modules tend to just stop working at some point after
mongo::shutdown() is invoked, without regard to whether modules that
depend on them have already shut down.
As such, for clarity, this patch renames the function from
mongo::inShutdown() to mongo::globalInShutdownDeprecated(). This also
helps disambiguate calls to this function from calls to individual
components' similarly named functions.
Also, remove uncalled mongo::inShutdownStrict().
|
| |
|
| |
|
|
|
|
| |
std::atomic
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Covered files in src/mongo..
/executor
/logger
/platform
/util
/scripting
/shell
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
cc().makeOperationContext().
Also, make OperationContextImpl's constructor private so that it can only be
constructed via a Client.
|
|
|
|
|
|
| |
with cc().makeOperationContext()."
This reverts commit 0ab34aa7b9c3c48ea6cf17888620fca455284d35.
|
|
|
|
|
|
|
| |
cc().makeOperationContext().
Also, make OperationContextImpl's constructor private so that it can
only be constructed via a Client.
|
|
|
|
| |
MatchExpression parsing
|
| |
|
| |
|
|
|
|
|
|
|
| |
We now tell PlanExecutors to detach from their OperationContexts and to shed
all storage engine resources before stashing the ClientCursor. This is a
heavier weight operation than a normal save/restoreState which is no longer
allowed to change the OperationContext.
|
| |
|
|
|
|
| |
accept a namespace instead of a database name
|
| |
|
|
|
|
|
|
|
|
| |
stdx::chrono types.
Also introduces operators for adding stdx::chrono::duration to Date_t,
subtracting two Date_ts to get Milliseconds, and remove the use of
reinterpret_cast from the implementation of BSON Timestamp type.
|
|
|
|
|
|
|
|
| |
stdx::chrono types."
This reverts commit 9aac625685811873ffbc2d3e8d09531eff1ce10e.
Committed in error.
|
|
|
|
|
|
|
|
| |
stdx::chrono types.
Also introduces operators for adding stdx::chrono::duration to Date_t,
subtracting two Date_ts to get Milliseconds, and remove the use of
reinterpret_cast from the implementation of BSON Timestamp type.
|
| |
|
| |
|