Engineering Ticket Description:
Add a replica set member option, or maybe a set-wide option, that when exceeded causes the member to change into Recovering mode. With a threshold like this it will be easier to make sure non-primary client reads never exceed the threshold/stale-ness when using a secondary preferred read preference.
This essentially allows one to set the maximum staleness of any normally used member in replica set. This could also be used after maintenance periods to ensure that a node coming out of maintenance can catch up quickly without taking reads during the recovery period.