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 }