On 2020/03/25 0:17, Sergei Kornilov wrote:
Hello

I pushed the latest version of the patch. If you have further opinion
about immediate promotion, let's keep discussing that!

Thank you!

Honestly, I forgot that the promotion is documented in high-availability.sgml 
as:

Before failover, any WAL immediately available in the archive or in pg_wal will 
be
restored, but no attempt is made to connect to the master.

I mistakenly thought that promote should be "immediately"...

If a promotion is triggered while recovery is paused, the paused state ends and 
a promotion continues.

Could we add a few words in func.sgml to clarify the behavior? Especially for 
users from my example above. Something like:

If a promotion is triggered while recovery is paused, the paused state ends, 
replay of any WAL immediately available in the archive or in pg_wal will be 
continued and then a promotion will be completed.

This description is true if pause is requested by pg_wal_replay_pause(),
but not if recovery target is reached and pause is requested by
recovery_target_action=pause. In the latter case, even if there are WAL data
avaiable in pg_wal or archive, they are not replayed, i.e., the promotion
completes immediately. Probably we should document those two cases
explicitly to avoid the confusion about a promotion and recovery pause?

Regards,

--
Fujii Masao
NTT DATA CORPORATION
Advanced Platform Technology Group
Research and Development Headquarters


Reply via email to