Praefect behavior when replication jobs fail to persist
Currently, Praefect will allow a proxied RPC to succeed even if the associated replication jobs fail to persist. We simply log any replication persisting error and it doesn't impact the success/fail message to the client. This is incorrect behavior. When Praefect proxies an RPC, it is promising the end user a number of things:
- The RPC will be proxied to the primary.
- The replication jobs from the primary to the secondaries will be scheduled.
If the replication jobs fail to be scheduled, we should fail the RPC since we did not satisfy the contract to the end user.
Edited by Paul Okstad (ex-GitLab)