We're currently checking the wrong parameter from "serverStatus" to see if checkpoint cursors are supported by a storage engine. This prevents the background validation hook from running at all.
Here, we check for
!conn.adminCommand("serverStatus").storageEngine.supportsCheckpoints
when we should be checking for
!conn.adminCommand("serverStatus").storageEngine.supportsCheckpointCursors
Currently, running this with the WiredTiger we see this:
Skipping background validation against test node: localhost:20000 because its storage engine does not support background validation (checkpoints).
Logging the "serverStatus.storageEngine" we have these options:
{
"name" : "wiredTiger",
"supportsCommittedReads" : true,
"oldestRequiredTimestampForCrashRecovery" : Timestamp(1572447953, 4),
"supportsPendingDrops" : true,
"dropPendingIdents" : NumberLong(0),
"supportsSnapshotReadConcern" : true,
"supportsCheckpointCursors" : true,
"readOnly" : false,
"persistent" : true,
"backupCursorOpen" : false
}