When there is a stepdown, and there is no stepup for more than 15 seconds, CheckMetadataConsistency hook will throw a FailedToSatisfyReadPreference. This can happen with slow machines, when the node is slow in shutting down, and the cluster remains without a primary for a long time.
As the CheckMetadataConsistency hook is continuously being run, I propose to abort the hook if a FailedToSatisfyReadPreference error is found.