Replication should quit and give up when the destination or source are deleted
What do you mean by "quit"? Exit the tabletserver/master? Delete the records for the source+dest?
I think these are trickier than they appear at first glance.
Consider the case when a source table is deleted, what if there are pending files to be replicated that a user did not realize. They thought the table was fully replicated elsewhere (where the table is desired) and they are trying to clean up the table locally (where it is now unneeded). We would want to make sure that we still replicate the data even if the source table no longer exists. There may be some issues because the configuration required to replicate the table is now missing. Perhaps this can be mitigated with better documentation/tools on when a table is fully replicated.
If a destination doesn't exist, this could indicate misconfiguration. This may be transient (especially in the case if the user tried to update the configuration in ZK but the master didn't notice it when it tried to run replication). I think we would want to be careful in how we fail in this case as it can be corrected by user configuration.