Commit Graph

19 Commits

Author SHA1 Message Date
Jason Zhang
87c5d5d3c1 SERVER-69920 Implement two phase protocol for updateOne and deleteOne 2022-12-29 22:30:30 +00:00
Erin Liang
d4deaa4c5f SERVER-64069 Relax restriction that changing a document's shard key value must have a transaction number 2022-08-02 12:23:07 +00:00
Sviatlana Zuiko
31d5a84eda Revert "SERVER-64069 Relax restriction that changing a document's shard key value must have a transaction number"
This reverts commit 5c57650600.
2022-07-28 19:41:39 +00:00
Erin Liang
5c57650600 SERVER-64069 Relax restriction that changing a document's shard key value must have a transaction number 2022-07-28 00:18:55 +00:00
Sanika Phanse
76064b416b SERVER-65398 Remove featureFlagUpdateDocumentShardKeyUsingTransactionApi tag for tests 2022-04-13 00:40:10 +00:00
Sanika Phanse
d9550ffc38 SERVER-55348 Enable Feature flag for Running distributed transactions internally in a sharded cluster 2022-04-08 21:42:18 +00:00
Jack Mulrow
b17dfaaec9 SERVER-59186 Use transaction API for all current changing a document's shard key logic 2022-02-28 20:16:11 +00:00
Brett Nawrocki
66bbacb3c8 SERVER-59208 Add acceptable error to sharding test
Add ShardCannotRefreshDueToLocksHeld as acceptable error in
resharding_replicate_updates_as_insert_delete.js for retryable write.

The retryable write to update the shard key value under the new key
pattern is implicitly converted into a multi-statement transaction. If
the multi-statement transaction fails due to the donor shard not having
the routing information for the temporary resharding collection loaded,
then mongos won't automatically retry it.
ShardCannotRefreshDueToLocksHeld is now therefore considered an
acceptable error.
2021-09-13 22:05:14 +00:00
Jon Streets
05a0f8e98b SERVER-56366 Update FCV constants to recognize 5.1 as latest 2021-07-23 15:49:23 +00:00
Jordi Serra Torrens
87e14fa4bd SERVER-55307: Complete TODO listed in SERVER-53539 2021-03-19 08:46:12 +00:00
Max Hirschhorn
db2e46857c SERVER-54980 Split donor and recipent documents into im/mutable state.
Removes the unused strictConsistencyTimestamp field from the recipient
document.

Also explicitly sets strict:true and strict:false for all of
resharding's IDL types.
2021-03-09 00:03:51 +00:00
jannaerin
2278665eb9 SERVER-54067 Enforce identical restrictions on updates to the new shard key during resharding as to the original shard key 2021-01-28 17:13:03 +00:00
jannaerin
ee7a58e7af SERVER-54040 Resharding may fail to throw WouldChangeOwningShard despite destined recipient having changed 2021-01-27 19:22:16 +00:00
Max Hirschhorn
ee8b301a9d SERVER-49907 Unroll applyOps entry and do resharding CRUD application.
This reverts commit 54e87285f8.
2021-01-11 18:34:54 +00:00
Max Hirschhorn
54e87285f8 Revert "SERVER-49907 Unroll applyOps entry and do resharding CRUD application."
This reverts commit 4363473d75.
2021-01-09 12:53:37 +00:00
Max Hirschhorn
4363473d75 SERVER-49907 Unroll applyOps entry and do resharding CRUD application.
Introduces a ReshardingOplogBatchPreparer class for creating writer
vectors. Also splits batch application in resharding's oplog application
into a first phase of CRUD application and a second phase of session
application.
2021-01-08 17:54:16 +00:00
Max Hirschhorn
44ea19e0c3 SERVER-52620 Add withReshardingInBackground() to ReshardingTest fixture.
Switches over most of the tests either running reshardCollection
explicitly or calling startReshardingInBackground() to use it.

SERVER-53460 Use assert.soon() when verifying post-resharding state.

The config.localReshardingOperations.{donor,recipient} collections are
not guaranteed to be empty immediately after the reshardCollection
command has returned.
2020-12-30 18:51:45 +00:00
Vishnu Kaushik
44f2e1e43a SERVER-50921 add method to return reshard key if appending resharding recipients to oplog 2020-11-17 16:55:10 +00:00
Alex Taskov
6508f5d6ad SERVER-49825 Replicate updates changing value under new shard key pattern as delete + insert in a transaction 2020-11-06 15:59:26 +00:00