Hello

Thank you for review! Can you please also check v4 version? v5 implements 
design suggested by Kyotaro Horiguchi-san, while v4 has another design. Which 
one do you prefer? Or are both wrong?

> I can't parse that comment. What does "skipping to starting" mean? I
> assume it's just about avoiding wal_retrieve_retry_interval, but I think
> the comment ought to be rephrased.

Design idea is to rewrite current state from working XLOG_FROM_STREAM to failed 
XLOG_FROM_ARCHIVE (without actually try this method on this iteration) and 
immediately go to next iteration to advance the state machine. Next iteration 
after failed archive recovery is walreceiver. So walreceiver will be stopped 
just before this lines and started on next iteration. Walreceiver will be 
restarted, we do not call restore_command

> Also, should we really check this before scanning for new timelines?

Hmm, on the next day... No, this is not really necessary.

> Why is it the right thing to change to XLOG_FROM_ARCHIVE when we're just
> restarting walreceiver? The server might unnecessarily get stuck in
> archive based recovery for a long time this way? It seems to me that
> we'd need to actually trigger RequestXLogStreaming() in this case.

I hope I clarified this in design idea description above.

Thank you!

regards, Sergei


Reply via email to