On 2025/03/31 22:45, Yugo Nagata wrote:
I prefer this approach clarifying that consistency and subtransaction overflow are separate concepts in the documentation. Here are minor comments on the patch:
Thanks for the review!
- case CAC_NOTCONSISTENT: - if (EnableHotStandby) + case CAC_NOTHOTSTANDBY: + if (!EnableHotStandby) ereport(FATAL, (errcode(ERRCODE_CANNOT_CONNECT_NOW), errmsg("the database system is not yet accepting connections"), - errdetail("Consistent recovery state has not been yet reached."))); + errdetail("Hot standby mode is disabled."))); + else if (reachedConsistency) + ereport(FATAL, + (errcode(ERRCODE_CANNOT_CONNECT_NOW), + errmsg("the database system is not accepting connections"), + errdetail("Recovery snapshot is not yet ready for hot standby."), + errhint("To enable hot standby, close write transactions with more than %d subtransactions on the primary server.", + PGPROC_MAX_CACHED_SUBXIDS))); else ereport(FATAL, (errcode(ERRCODE_CANNOT_CONNECT_NOW), errmsg("the database system is not accepting connections"), - errdetail("Hot standby mode is disabled."))); + errdetail("Consistent recovery state has not been yet reached."))); The message says "the database system is not yet accepting connections" when "Hot standby mode is disabled". I think "yet" is not necessary in this case. Otherwise, when "Recovery snapshot is not yet ready for hot standby" or "Consistent recovery state has not been yet reached", it seems better to use "yet"
I may have unintentionally modified the error message. I fixed the patch as suggested. Please check the latest patch I posted earlier in response to Torikoshi-san. Regards, -- Fujii Masao Advanced Computing Technology Center Research and Development Headquarters NTT DATA CORPORATION