| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(cherry picked from commit cdde32442328fdd65bd1ae016164bcafff15fa92)
|
|
|
|
| |
(cherry picked from commit c31362708f26397dd20818ab780a5180e257d5a7)
|
|
|
|
|
| |
(cherry picked from commit 85ec26ff72f4029c52c40fab796ad53533828e60)
(cherry picked from commit 20c801587e1dab2d9cb2d468a4b10e3549d91e24)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replica sets can now respond to `isMaster` requests with
different hostnames and ports, if contacted via alternate
names using TLS. The `horizons` field in replica set
member configurations can be used to control which
`HostAndPort` to reply with for which "horizon view" of
a replica set.
(cherry picked from commit 6784f6568cc45fe25510e2d2393be57daffb5411)
Conflicts:
src/mongo/db/client.h
src/mongo/db/repl/SConscript
src/mongo/db/repl/replication_coordinator_impl_test.cpp
src/mongo/db/repl/replication_info.cpp
src/mongo/db/repl/topology_coordinator.h
src/mongo/transport/session_asio.h
src/mongo/util/net/ssl_manager_openssl.cpp
|
| |
|
|
|
|
| |
(cherry picked from commit 70a2729673f629f1881abc042e3374e6cffa05bb)
|
|
|
|
| |
(cherry picked from commit 0a847ef8453015e8b622595692b2fde0488486a6)
|
|
|
|
| |
(cherry picked from commit e55d6e2292e5dbe2f97153251d8193d1cc89f5d7)
|
| |
|
|
|
|
| |
(cherry picked from commit 6f083bd87264e9d9c3d637fae62103c36a65316a)
|
|
|
|
|
|
| |
Client
(cherry picked from commit a9277e874039f32ce0d848fcdfb10de705c96fd9)
|
|
|
|
| |
(cherry picked from commit 1b1cf52e94c49ca4c6d8ba693e949c2b655e74b5)
|
|
|
|
|
|
| |
This fixes a bug where the server would crash if a large number of parallel connections occurred at once
(cherry picked from commit 916a5553a2db8ae7553fea7c3703ef8fef75b055)
|
|
|
|
|
|
| |
a namespace argument
(cherry picked from commit e4f26d25632f94a6577028ccefd32069550628b6)
|
|
|
|
| |
(cherry picked from commit ddb5d16aa7a5854d326bff0b6d094b33f1b662b5)
|
|
|
|
| |
(cherry picked from commit 662bec7c902c7e2eacdbeed0c8fca59563d73155)
|
|
|
|
| |
(cherry picked from commit bbaca57b62a510f0f8711d2a3224d0751e9cf786)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
| |
(cherry picked from commit 940ed1e95db94d132f018a82343fe0109b157272)
|
|
|
|
| |
(cherry picked from commit f0227671de94cd54a3d8e1653400aa1ee9d8b2fa)
|
|
|
|
|
|
| |
embedded when not dragged in by sharding.
(cherry picked from commit 5dd6fcae8bedcf9dcb8a4e2e26b70320b369b48c)
|
|
|
|
|
|
|
|
|
| |
Modules for MongoDB need to be able to indicate their own overrides
of shimmed funcitons. These overrides must be able to access the
underlying registered shim. Further, the overrides must be installed
in the correct position in the initializer dependency graph.
(cherry picked from commit 1de64a4eb0a3655df083bc2160e5720d66f3c6fe)
|
|
|
|
| |
This reverts commit 56c53c382daef891ac0951464e5e23ccdd5c0263.
|
|
|
|
|
|
|
|
|
| |
Modules for MongoDB need to be able to indicate their own overrides
of shimmed funcitons. These overrides must be able to access the
underlying registered shim. Further, the overrides must be installed
in the correct position in the initializer dependency graph.
(cherry picked from commit bad5afd612e8fc917fb035d8333cffd7d68a37cc)
|
|
|
|
|
|
|
|
|
| |
To facilitate using the mongodb code as an in-process embeddable
library, we have created a dummy auth layer which can stand in for
the real auth system in these contexts. Several link edges needed
to be retargetted, and some tests needed to be relaxed.
(cherry picked from commit ac1ceb8cb4994e235abe9a364c3dd7a2bfa84a62)
|
|
|
|
|
|
|
|
|
|
|
| |
There were hidden transitive dependencies through `auth` into
other subsystems which were not detected through the normal content
integration pathway. This adds some necessary dependency edges in
order to fix building on those platforms.
It also removes a few transitional ignores and fixes some uses of
ambiguous stream operators. The `str::stream` object should not
directly be streamed.
|
| |
|
| |
|
|
|
|
|
|
| |
metaprogramming compactness
mark unused auto pointer
change is_same value use from {} to ::value
|
|
|
|
|
|
|
|
| |
The Authorization framework was intertwined with many subsystems and
needed to be properly abstracted in order to facilitate cutting down
on certain unnecessary dependencies in some libraries. This also
facilitates creating a reduced authorization framework for use
in embedded builds.
|
|
|
|
|
|
|
|
|
|
| |
All remaining callers are transitioned to some form of usassert. This was done
with an elaborate set of vim macros to make this tractable. Therefore it
should not be considered an example of the best way to write new code, just as
an improvement on what was there before. In particular, I couldn't easily
remove Status's that are named then only used once in uassertStatusOK, nor
could I convert the pattern of checking a StatusWith<T>'s getStatus() then
calling getValue() to just call uassertStatusOK(returnsStatusWith()).
|
|
|
|
|
|
|
|
|
| |
* Added appendCommandStatusNoThrow matching the current aCS behavior
* Make appendCommandStatus call uassertStatusOK then aCS on success
* Make the few places that need to not throw call aCSNT
A following commit will completely remove appendCommandStatus. It is split out
because that commit is fairly huge.
|
|
|
|
| |
rpc/protocol
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Also removes the unimportant but flaky scoped_db_conn_test
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Remove the static tables floating around at namespace scope.
break CommandHelpers::isGenericArgument into
command_generic_argument library so it doesn't have to be inline.
Some callers depend on it but would have a circularity if they
actually added db/commands to their LIBDEPS.
|
| |
|