[SERVER-49014] Add additional timestamping tests to the KVEngine test harness Created: 22/Jun/20  Updated: 29/Oct/23  Resolved: 14/Jul/20

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 4.7.0

Type: Improvement Priority: Major - P3
Reporter: Gregory Wlodarek Assignee: Bynn Lee
Resolution: Fixed Votes: 0
Labels: intern_ephemeral_for_test
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File biggie_timestamps.txt    
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2020-07-13, Execution Team 2020-07-27
Participants:

 Description   

The KVEngine test harness allows us to create a single set of unit tests that runs on multiple storage engines.

In order to have a test-driven development approach for adding timestamp support for Biggie, we should add additional unit tests to the harness to increase our test coverage for the storage engines.

We can deterministically identify what the timestamps (oldest, stable, all durable) should be set to after performing a set of operations.
 

A few simple examples of unit tests could be:

  1. Pinning the oldest timestamp (by keeping a read transaction open) and performing write operations at a later time. Opening a new read transaction on an older timestamp, prior to when the writes committed, we shouldn't see any of those changes.
  2. Rolling back to the last stable timestamp should remove any changes made since the last stable timestamp.
  3. When all open transactions commit, the all durable timestamp should be advanced when the final transaction is finished.

Obviously, this isn't an extensive list and we should add more.

 
I've attached a file of additional timestamp cases we can exercise made by daniel.gottlieb.



 Comments   
Comment by Githook User [ 14/Jul/20 ]

Author:

{'name': 'Bynn Lee', 'email': 'bynn.lee@mongodb.com', 'username': 'bynn'}

Message: SERVER-49014 Add additional timestamping tests to the KVEngine test harness
Branch: master
https://github.com/mongodb/mongo/commit/5bb3a09729ea6d03b3a17915bb4bc3e6e5105fdd

Generated at Thu Feb 08 05:18:42 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.