Bug: Most recent snapshot does not match incremental source
This issue occurs if sending has failed enough times for the remote end to be able to take another automatic snapshot. This then causes the two snapshot streams to be out of sync.
I'm not sure what the best solution to this is - it might be possible with zfs recv -F to force it to revert to the last common snapshot. Alternatively, we could add some logic to place a hold on the remote end at the start of sending, which could be checked by the snapshot logic - this way if a send fail happens then the remote hold is not removed. The _snapshot function could then query if this dataset has recv: set and if so if there are any holds before taking another one? Seems a bit convoluted.
Either way this should definitely class as a massive error and ideally would require manual intervention.