Clean up recover().
recover() panics if things go wrong: don't return any value from it (until we fix it to not panic). In recover() current_wal is always NULL, since we run it right after start (or after establishing a connection with a replica). Don't check for current_wal. Don't produce a stupid error message "can't find WAL with LSN:" when recovering from a snapshot, and a snapshot is all we have in the data directory. We (ab)use recover() and recover_remaining_wals() in replication and in initial recovery, without doing the abstraction homework, and this leads to convoluted code and redundant logic.
Loading
Please register or sign in to comment