| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
updates/deletes
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
owned by AutoGetCollection
RequiresCollectionStage now holds a pointer to CollectionPtr owned by an AutoGetCollection.
When we save and restore the executor a new CollectionPtr pointer needs to be assigned.
Plan executors can no longer be created with temporary CollectionPtr instances and their interface have been changed to take pointers to avoid binding to rvalues.
RequiresCollectionStage no longer loads collections from the catalog and will be in sync with the owning AutoGetCollection.
|
|
|
|
|
|
|
|
|
|
|
|
| |
It implements a yieldable interface that is used to re-load the
Collection pointer from the catalog after a yield that released locks.
With lock-free reads and copy-on-write on Collection instances releasing
locks without notifying an AutoGetCollection at a higher level may cause
its pointers to dangle if a MODE_X writer installs a new Collection
instance in the catalog.
CollectionPtr should be passed by const reference so a yield can notify
all the way up.
|
|
|
|
|
|
| |
Most of the code should only need a const Collection now. AutoGetCollection returns a const Collection by default. There is a placeholder getWritableCollection() interface that will handle the necessary steps we need for lock free reads in the future.
Added some operators to AutoGetCollection so it behaves more like a smart pointer.
|
|
|
|
|
|
| |
This allows classic PlanStages to be removed from the
PlanExecutor interface. It also positions the code base well
for adding SBE support for all of the CRUD commands.
|
|
|
|
|
|
|
|
| |
This eliminates the need for the FAILURE status codes in
PlanStage and PlanExecutor, and brings query execution's
error reporting more in line with that of the rest of the
server. It also makes it easier for future implementations
of PlanExecutor to comply with the interface.
|
|
|
|
|
|
| |
- Remove several legacy logger/ files
- Convert all MONGO_LOG_DEFAULT_COMPONENT to the LOGV2 version.
- Globally replace logger::{LogSeverity,LogComponent} => logv2::
|
|
|
|
| |
This patch includes also moves ownership of the collator to the ExpressionContext.
|
|
|
|
|
|
|
| |
o converting some log lines that were missed
o fixing some missing includes
create mode 100644 src/mongo/transport/ismaster_metrics.cpp
|
|
|
|
|
|
|
|
| |
Also replaces WorkingSetMember::isSuspicious with a scheme
that associates a snapshot id with every index key. This is
needed because extracted WorkingSetMembers are not
discoverable from the WorkingSet, and thus cannot be marked
as suspicious in preparation for yield.
|
|
|
|
| |
SERVER-42157 Unowned mode for Document/Value
|
| |
|
|
|
|
|
|
| |
Remove leading comments that are just stating the filename.
Move any file-level comments below the copyright banner.
Remove leading blank lines.
|
|
|
|
|
| |
Replaced PlanStage::DEAD with PlanStage::FAILURE. In the subsequent
commit, PlanExecutor::DEAD will be taken care of in the next commit
|
| |
|
|
|
|
| |
under it
|
|
|
|
|
|
|
|
| |
Macro ON_BLOCK_EXIT(...) now takes a single callable,
Some renames:
Dismias -> dismiss
MakeGuard => makeGuard
|
| |
|
|
|
|
|
| |
Also deletes UpdateLifecyle, which was used as part of the
UpdateStage's yield recovery, but is no longer necessary.
|
| |
|
|
|
|
|
|
| |
- Removes of PlanStage::invalidate().
- Removes RecordCursor::invalidate() from the storage API.
- Removes CursorManager::invalidateDocument().
|
|
|
|
| |
on PlanStage::DEAD state
|
|
|
|
|
|
| |
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).
|
| |
|
| |
|
|
|
|
| |
txnNumber
|
|
|
|
| |
In preparation for removing the Batched Insert/Update/Delete Request parser classes.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
This reverts commit 6bbaee174447ee1c9177c72bdd07f050ab07e901.
|
| |
|
|
|
|
|
|
| |
WorkingSetCommon::prepareForSnapshotChange shouldn't ever throw an
exception, so it should be removed from the try/catch blocks in the
delete and update stages.
|
|
|
|
|
|
|
|
|
| |
Previously, if there was a WriteConflictException while actually doing
the update or delete, we would retry the findAndModify, but if the
update or delete stage detected that the document was already deleted
or that it no longer matched the predicate, it would not retry. This
patch ensures the findAndModify will be retried in either of those
scenarios.
|
|
|
|
|
|
|
| |
document-level concurrency
This ensures that the set of WorkingSetIDs does not grow without bound
on MMAPv1.
|
|
|
|
| |
delete.
|
|
|
|
|
|
| |
Also renamed:
* WorkingSetMember::hasLoc() -> WorkingSetMember::hasRecordId
* WorkingSetMember::loc -> WorkingSetMember::recordId
|
|
|
|
| |
A plan stage should only yield if the collection exists.
|
| |
|
|
|
|
|
| |
Changes PlanStage::work() to be non-virtual. PlanStage::work() now
updates _commonStats and calls new pure virtual method doWork().
|