| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
WriteConflictException
(cherry picked from commit 4fee73e53ecdbfff73d644dd743b66d5e16a1836)
|
|
|
|
| |
(cherry picked from commit 0d1f974d015f3e527f66d0dd6d1e623dc43571e6)
|
| |
|
| |
|
|
|
|
| |
resharding so resuming is less wasteful
|
|
|
|
| |
through ReplicationCoordinatorImpl::getConfig()
|
|
|
|
|
|
|
|
|
|
|
| |
reply on the copy-on-write machinery to keep it in sync with the durable catalog.
All updates to the metadata needs to happen through the Collection, moved interfaces from the DurableCatalog to the Collection.
Removed back pointer to Collection in IndexCatalogEntryImpl, interfaces now correctly take a const or non-const Collection. This should make its iterface const-correct to avoid making bugs where the copy-on-write system for Collections are bypassed.
Multikey handle is special as it needs to happen without exclusive access to the Collection. Implemented isolation for the Collection metadata when multikey is changed. It handles multi-doc transactions and is only commited to the Collection instance after the write to the durable catalog successfully commits.
listCollections and listIndexes can now safetly read the metadata cache without needing to read from the durable catalog making them safe to do without Collection level locks.
|
|
|
|
| |
This RAII type is deprecated in favor of AutoGetDb and AutoGetCollection.
|
|
|
|
| |
CommandReply suffixes
|
|
|
|
|
|
| |
when refreshing the CatalogCache
(cherry picked from commit 538cb2ff982aab2a60c4f3ab53eb1ba6d1acfeb9)
|
|
|
|
|
|
| |
config.chunks when refreshing the CatalogCache"
This reverts commit dc009c5a8d484f6a0db2f357274e14e30ea9f476.
|
|
|
|
| |
when refreshing the CatalogCache
|
|
|
|
| |
ConfigServerCatalogCacheLoader
|
| |
|
|
|
|
| |
Introduces a new kIdempotentOrCursorInvalidated retry policy.
|
| |
|
|
|
|
| |
This reverts commit cda3a52701fe4143b06bd981b98514e69d0a93eb.
|
| |
|
| |
|
|
|
|
| |
build if collection is not empty
|
|
|
|
|
|
|
|
| |
When a writable collection is requested from the catalog a cloned instance will be returned.
Its lifetime is managed by default in a WriteUnitOfWork and committed into the catalog in a commit handler.
In the case of a rollback the cloned and modified collection instance is simply discarded.
This removes the need to setup rollback handlers to restore any state written to a collection in the case of a rollback.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
directory
With this change there are no more references from mongo/s (which is
code common between MongoS and MongoD) and mongo/db/s (which is code
specific for MongoD only).
|