Details
Description
Currently, the upgrade / downgrade tests for global snapshot reads introduced in SERVER-34019 and SERVER-34020 ignore SnapshotTooOld errors when expecting global snapshot reads to succeed. Those errors are somewhat acceptable, because they mean the read couldn't establish a snapshot, not that the attempt to do so was rejected. In 4.0 especially, the window for atClusterTime reads is very small and noop writes forced when the node hasn't reached the requested atClusterTime often advance the oldest timestamp beyond the requested time (see comments in readConcern_atClusterTime_noop_write.js, so repeated snapshot errors are likely.
The test should eventually be able to establish a snapshot for all reads though with enough attempts, so a retry loop should be added for the reads expected to succeed.