On 12/6/21, 4:34 AM, "Bharath Rupireddy" <bharath.rupireddyforpostg...@gmail.com> wrote: > While the database is performing end-of-recovery checkpoint, the > control file gets updated with db state as "shutting down" in > CreateCheckPoint (see the code snippet at [1]) and at the end it sets > it back to "shut down" for a brief moment and then finally to "in > production". If the end-of-recovery checkpoint takes a lot of time or > the db goes down during the end-of-recovery checkpoint for whatever > reasons, the control file ends up having the wrong db state. > > Should we add a new db state something like > DB_IN_END_OF_RECOVERY_CHECKPOINT/"in end-of-recovery checkpoint" or > something else to represent the correct state?
This seems like a reasonable change to me. From a quick glance, it looks like it should be a simple fix that wouldn't add too much divergence between the shutdown and end-of-recovery checkpoint code paths. Nathan