I think the change to ImmediateCheckpointRequested() makes no sense. Before this patch, that function merely inquires whether there's an immediate checkpoint queued. After this patch, it ... changes a progress-reporting flag? I think it would make more sense to make the progress-report flag change in whatever is the place that *requests* an immediate checkpoint rather than here.
I think the use of capitals in CHECKPOINT and CHECKPOINTER in the documentation is excessive. (Same for terms such as MULTIXACT and others in those docs; we typically use those in lowercase when user-facing; and do we really use term CLOG anymore? Don't we call it "commit log" nowadays?) -- Álvaro Herrera 39°49'30"S 73°17'W — https://www.EnterpriseDB.com/ "Hay quien adquiere la mala costumbre de ser infeliz" (M. A. Evans)