When a secondary runs a command on the primary, it will trigger the failCommand failpoint. This is unexpected for drivers because we would like to use failCommand to test retryable writes and transactions on replica sets.
Some options I see:
- change failCommand to ignore commands from replica set members
- change failCommand to ignore all commands except those in the sessionCheckoutWhitelist?
- drivers only use failCommand against single node replica sets or standalone servers
- drivers never use the "skip" and "times" options and instead configure the failpoint as "alwaysOn" or "off"