BUG #15641: Autoprewarm worker fails to start on Windows with huge pages in use - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15641: Autoprewarm worker fails to start on Windows with huge pages in use
Date
Msg-id 15641-377d62c43f94b645@postgresql.org
Whole thread Raw
List pgsql-bugs
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


pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: BUG #15640: FATAL: XX000: cannot read pg_class without havingselected a database
Next
From: Jeremy Finzel
Date:
Subject: Re: Segmentation Fault in logical decoding get/peek API