|
SERVER-59186 makes mongos use internal transactions to handle WouldChangeOwningShard update and findAndModify. As a result, mongos no longer uses the client txnNumber to run the transaction that handles the WouldChangeOwningShard error. To make a retry still fail with an IncompleteTransactionHistory error, SERVER-63366 introduced the notion of WouldChangeOwningShard sentinel operation entry to trigger to an IncompleteTransactionHistory error on retries. So applyOps oplog entries for retryable internal transactions can now contain a noop (i.e. no CRUD) operation, this is expected to lead to an error during resharding since it doesn't expect to see a non CRUD operation in an applyOps oplog entry.
|