| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
function
|
| |
|
|
|
|
| |
to shared_ptr
|
|
|
|
|
|
|
|
|
|
|
| |
Inside the ARS, support use of the
TaskExecutor::scheduleRemoteCommandOnAny method, which will allow the
ARS to use any acceptable host returned from targeting, rather than
requiring us to use one at random.
This should allow us to prefer routing requests to hosts which have
ready connections to, or that we can generate ready connections to
faster
|
|
|
|
| |
This reverts commit f3d9452220039ba74c68fe58b382a237d4e07ad1.
|
|
|
|
|
|
|
|
|
|
|
| |
Inside the ARS, support use of the
TaskExecutor::scheduleRemoteCommandOnAny method, which will allow the
ARS to use any acceptable host returned from targeting, rather than
requiring us to use one at random.
This should allow us to prefer routing requests to hosts which have
ready connections to, or that we can generate ready connections to
faster
|
|
|
|
|
| |
Use the new opctx as executor functionality to perform parallel
targeting in the ARS
|
|
|
|
|
|
|
|
|
|
|
| |
produced by:
hits="$(git grep -n MONGO_DISALLOW_COPYING | cut -d: -f1 )"
for f in "$hits"; do
sed -i.orig '
s/^\( *\)MONGO_DISALLOW_COPYING(\(.*\));/\1\2(const \2\&) = delete;\n\1\2\& operator=(const \2\&) = delete;/;
' $f
done
|
|
|
|
|
|
| |
Remove leading comments that are just stating the filename.
Move any file-level comments below the copyright banner.
Remove leading blank lines.
|
| |
|
|
|
|
|
| |
Refactor the baton into regular and networking batons while also
cleaning up the basic baton implementation.
|
|
|
|
|
|
| |
Add support for MultiProducer + MultiConsumer on our existing PCQ and
introduce a Pipe type which holds the interface via shared_ptr ends and
closes those ends on destruction.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add support for a generalized interruptibility facility in the server.
This offers a generalized interruptibility facility, trialed in
Future<T> and ProducerConsumerQueue<T>.
It offers 3 major concepts:
Notifyable: A type which can notified off-thread, causing a wake up
from some kind of blocking wait
Waitable: A type which is Notifyable, and also can perform work while in
a ready-to-receive notification state. static methods offer support for
running underneath condition_variable::wait's. The chief implementer is
the transport layer baton type
Interruptible: A type which can wait on condition variables, and offers:
- deadlines. This means the type integrates some sort of clock source
- interruptibility. This means the type offers a way of noticing
that it should no longer run via status or exception
Additionally, Interruptible's offer special scoped guards which
offer
- Exemption from interruption in a region defined by the lifetime
of a guard object
- Subsidiary deadlines which can trigger recursively, offering
specialized timeout and status return support.
The series of virtual types allows us to slice the interface between
opCtx and future such that opctx can use future and future can use
opctx. Additionally, cutting out more functionality allows us to flow a
noop interruptibility type which unifies our waiting behind a common
api.
|
|
|
|
|
|
|
|
| |
Migrate to 1 connection pool in mongos.
This change involves the introduction of a transport layer baton, which
improves perf for a particular transport layer when doing local
scatter/gather operations.
|
|
|
|
|
|
|
|
|
|
| |
ARS holds a lock during scheduling, to prevent notification during
scheduling. As an unfortunate side effect, this prevents callbacks from
resolving during scheduling. (which can cause background executors to
block in executing a callback).
This replaces the mutex with a producer consumer queue which handles
responses, and moves response handling into calls to next().
|
|
|
|
|
|
|
|
|
| |
passthrough in commands_public.cpp
This change replaces all usages of passthrough, which are used for
sharded and unsharded collection routing from commands_public.cpp. All
remaining usages of passthrough will be replaced with direct
Shard::runCommand instead.
|
| |
|
| |
|
|
|
|
| |
remotes if interrupted
|
|
|
|
| |
OperationContext
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
DBClientMultiCommand
|
|
hosts over ASIO
|