There are a few places in the query engine which assume that all storage engines which return true for supportsDocLocking() also support RecoveryUnit::getSnapshotId():
- Determining whether a document needs to be re-fetched from storage before attempting to update or delete it.
- Determining whether or not to check whether buffered index keys are still consistent with a fetched document in WorkingSetCommon::fetch().
This assumption does not hold for the biggie storage engine. This is currently causing query correctness issues leading to the failure of tests getmore_invalidated_documents.js and ensure_sorted.js. These failures were introduced by the code added in
SERVER-42979 which assumed that doc-locking engines also support snapshot ids. There could be additional latent problems of a similar nature that have not yet been discovered.