Hello!
Shouldn't this need a condition similar to
ResolveRecoveryConflictWithLock (if (logging_conflict) ...)?
Otherwise this can result in a long wait time, with:
log_recovery_conflict_waits = on
deadlock_timeout = 100ms
max_standby_streaming_delay = 5s
It can wait for 5 seconds instead of the current 0.1 seconds without the change.