[SERVER-43685] Biggie storage engine should support snapshot ids Created: 27/Sep/19 Updated: 29/Oct/23 Resolved: 24/Oct/19 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Storage |
| Affects Version/s: | None |
| Fix Version/s: | 4.3.1 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | David Storch | Assignee: | David Storch |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 35 | ||||||||||||||||||||||||
| Description |
|
There are a few places in the query engine which assume that all storage engines which return true for supportsDocLocking() also support RecoveryUnit::getSnapshotId():
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 |
| Comments |
| Comment by David Storch [ 24/Oct/19 ] |
|
The chosen fix was to move assignment of snapshot ids above the storage engine API, by handling it in the RecoveryUnit base class. This means that all storage engines, including biggie, now support snapshot ids. The query engine can rely on snapshot ids being meaningful, regardless of whether the configured storage engine supports document-level concurrency. |
| Comment by Githook User [ 24/Oct/19 ] |
|
Author: {'username': 'dstorch', 'email': 'david.storch@mongodb.com', 'name': 'David Storch'}Message: This ensures that all storage engines support tracking of |