Обсуждение: BUG #15641: Autoprewarm worker fails to start on Windows with huge pages in use
BUG #15641: Autoprewarm worker fails to start on Windows with huge pages in use
От
PG Bug reporting form
Дата:
The following bug has been logged on the website: Bug reference: 15641 Logged by: Hans Buschmann Email address: buschmann@nidsa.net PostgreSQL version: 11.2 Operating system: Windows Server 2019 Standard Description: I recently moved a production system from PG 10.7 to 11.2 on a different Server. The configuration settings where mostly taken from the old system and enhanced by new features of PG 11. pg_prewarm was used for a long time (with no specific configuration). Now I have added Huge page support for Windows in the OS and verified it with vmmap tool from Sysinternals to be active. (the shared buffers are locked in memory: Lock_WS is set). When pg_prewarm.autoprewarm is set to on (using the default after initial database import via pg_restore), the autoprewarm worker process terminates immediately and generates a huge number of logfile entries like: CPS PRD 2019-02-17 16:11:53 CET 00000 11:> LOG: background worker "autoprewarm worker" (PID 3996) exited with exit code 1 CPS PRD 2019-02-17 16:11:53 CET 55000 1:> ERROR: could not map dynamic shared memory segment There seem no timeout or waiting time to restart the autoprewarm worker in this case. The problem can be circumvented by disabling pg_prewarm.autoprewarm. This behavior is transported by pg_basebackup to a physical replication database with the same problem. In my opinion the shared memory mapping of pr_prewarm is not aware of the huge pages in windows and fails. Unfortunatly I am not able to investigate the problem in the source code. Configuration: - Windows Server 2019 x64 (should be independent of this windows version) - PG 11.2 64bit from EDB download on PostgeSQL Website - Huge pages authorized in OS and verified to be used - pg_prewarm loaded to database With best regards Hans Buschmann