While reviewing another patch, I have noticed that recovery_min_apply_delay can have a negative value. And the funny part is that we actually attempt to apply a delay even in this case, per se this condition recoveryApplyDelay@xlog.c:
/* nothing to do if no delay configured */ if (recovery_min_apply_delay == 0) return false;
Shouldn't we simply leave if recovery_min_apply_delay is lower 0, and not only equal to 0?