| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
lastApplied
The no-overlap time, ReadSource::kNoOverlap, is the minimum of replication's lastApplied timestamp
and WiredTiger's all_durable time. This time is independent of replication state and ensures
queries do not see oplog holes after state transitions from secondary to primary.
(cherry picked from commit 25c694f365db0f07a445bd17b6cd5cbf32f5f2f9)
(cherry picked from commit 5ddf9db5635e4af2d1295bd2f1007e86d517c6c2)
SERVER-44529 Query yield recovery after a stepdown should switch to read at the no-overlap time
After yielding and reacquiring locks in a query, the preconditions that were used to select our
ReadSource initially need to be checked again. Queries hold an AutoGetCollectionForRead RAII
lock for their lifetime, which may select a ReadSource based on state (e.g. replication
state). After a query yields its locks, this state may have changed, invalidating our current
choice of ReadSource.
(cherry picked from commit b3a5b5258a487006f0487b9e7e0a1d0d4f1119ff)
(cherry picked from commit ce57ddce19e642401ec1b56871b3a9402116ccfc)
SERVER-48475 Reimplement lastApplied for secondary reads
This partially reverts work to use the kNoOverlap ReadSource on secondaries since the all_durable
calculation is unnecessary and expensive.
(cherry picked from commit ff92d4435fa75c2b947c49cffaf48805b320a5ae)
(cherry picked from commit 4e3f3b96826772baa777b7563b38574c1e11c2e4)
|
|
|
|
| |
(cherry picked from commit 7dd37622622362d0ef689b91de565c8c053c838e)
|
|
|
|
|
|
|
| |
create mode 100644 jstests/core/array_comparison_correctness.js
create mode 100644 jstests/core/array_index_and_nonIndex_consistent.js
(cherry picked from commit 52e7950cae37ef3783b05840c04abbbe383fa1ff)
|
|
|
|
| |
(cherry picked from commit b1285a2acb60cbf7c268cb5499fbf5d674d490b2)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, discrimination based on the partial filter
expression was done for all paths included in the wildcard
projection. This could lead to a situation where two queries
were erroneously assigned the same plan cache key.
The fix is to ensure that for wildcard indexes, partial
index discriminators are instead registered only for those
paths mentioned in the partial filter expression. Unlike
other kinds of wildcard index discriminators (e.g. handling
concerns of null equality or collation), the paths in the
partial filter expression are known a priori. Therefore,
discrimination based on the partial filter can be done in
the same way for wildcard and non-wildcard indexes.
(cherry picked from commit 57edf434219c9659354f01fb6bf4f4e6c0370bc4)
|
|
|
|
|
|
|
| |
together
(cherry picked from commit c8ced6df8f620daaa2e539f192f2eef356c63e9c)
(cherry picked from commit e9c31e791b2e056c016c048d7e21c59e0e2452ea)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
create mode 100644 jstests/noPassthroughWithMongod/top_rename.js
(cherry picked from commit c2d35dd6214978959a9cfc5dcb813d62ae8981ef)
create mode 100644 jstests/noPassthroughWithMongod/top_rename.js
|
|
|
|
|
|
| |
is relevant to set of plans generated
(cherry picked from commit 6ca9be706ce03a2c79d29feac3cfd294cc09445d)
|
| |
|
| |
|
|
|
|
| |
(cherry picked from commit 4d1ce1b892eef6f3926548a7b34d020a02eaee8a)
|
|
|
|
| |
(cherry picked from commit f7d0d2f3d6fe9e4c472bd1d8893c8b6dc96881b6)
|
|
|
|
|
| |
(cherry picked from commit 23e55cb3d041236f399f7095df31cd3e3da491cc)
(cherry picked from commit 70ef84cd14388602b3d763b12c6f8448ba62a9d8)
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
(cherry picked from commit 77967c90b1a521108c052af235ce7de9742aa95e)
SERVER-42755 recover_prepared_txn_with_multikey_write.js should verify absence of prepare conflicts on catalog after restart.
(cherry picked from commit eaf81228328738b685532c7eb10f833362434061)
SERVER-42750 Set opCtx->inMultiDocumentTransaction() in transaction recovery.
(cherry picked from commit 16c17677704a4f979381d593106a0c356088fd30)
|
| |
|
|
|
|
| |
(cherry picked from commit 0d07bf5e7a72a5bce3f7d7d681a71d7ecfe7eb8c)
|
|
|
|
| |
(cherry picked from commit 5105fa2377d3e86b2011691d5acbd8c531113929)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
wildcard index.
Consider a query on a generic path "c1.c2...arr.0.1...cn"
consisting of n path components. Somewhere in the middle of
this path, there is a component "arr" that is known to be
multikey, followed by multiple successive array indexes ("0"
and "1" in this example). Any predicate whose path matches
this description cannot correctly be answered with a
wildcard index. This is because wildcard indexes do not
recursively expand directly nested arrays. That is, when
indexing an array such as [[1, 2], [3, 4]], the index keys
will be [1, 2] and [3, 4], as opposed to 1, 2, 3, and 4.
Since the index does not contain keys for individual nested
array elements, it cannot be cheaply used for queries
against nested array elements.
This change fixes the planner to avoid attempting to use a
wildcard index in such cases, thereby fixing a query
correctness bug.
(cherry picked from commit 0f0463d0442b2c77cb650a8e84fea4d634fb63e6)
|
| |
|
|
|
|
| |
(cherry picked from commit bf8fcb05e020e8eb7b99a3ca7667e0d5a289c873)
|
|
|
|
| |
(cherry picked from commit de511c6bbf22d662912f228a3ac7a8e7a8bc3c61)
|
|
|
|
| |
(cherry picked from commit 2597e7fbe3c09683408b82b8b854023d6c2dbbf2)
|
|
|
|
| |
(cherry picked from commit cc59938cb51628b33403b19afd4cf9ba70c25921)
|
|
|
|
| |
(cherry picked from commit 90da71501d23dc1b5a3d78417079fd62e989e035)
|
|
|
|
| |
(cherry picked from commit d4843fc49931c7ce4332dc373623267c293eb518)
|
|
|
|
| |
(cherry picked from commit 95975c0e9c725ef86ef2fe6a8f5372e8a3f219d3)
|
|
|
|
| |
(cherry picked from commit 86b07826cede4cfd33e1a47f10a111b1d96e9758)
|
|
|
|
|
|
| |
catalog entry
(cherry picked from commit 5eda33f9fa40a1a17f9f63f904a8c147700d648c)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
command
|
| |
|
| |
|
|
|
|
|
| |
Handle bypassDocumentValidation and writeConcern inside the request
like in other writeops.
|
|
|
|
| |
pipeline-style findAndModify
|
|
|
|
| |
pipeline-style findAndModify
|
| |
|
|
|
|
| |
pipeline-style findAndModify
|
| |
|
|
|
|
|
|
| |
Adds the ability to specify an array representing an aggregation
pipeline to the 'udpate' argument of findAndModify. Certain options like
'sort' and 'fields' are not yet supported.
|