Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
PDB 6.13.1
-
PuppetDB
-
Needs Assessment
-
Reviewed
-
42226
-
1
-
Bug Fix
-
PuppetDB will start if gc-interval is set to 0 in an HA install of PE
-
Needs Assessment
Description
This only affects pe-puppetdb.
PuppetDB hangs indefinately when starting in 6.13.1 when sync is enabled and garbage collection is disabled. This looks to have been caused by https://tickets.puppetlabs.com/browse/PDB-4938. In that ticket, in order to prevent deadlocks between initial garbage collection and initial sync on startup, we serialized the initial garbage collection and sync with a promise. When the initial garbage collection completes it delivers on a promise and the initial sync can start. If gc is disabled, the promise is never delivered and sync can never run.
PuppetDB stops logging and stays in maintenance mode. The last logs output are as follows.
2020-12-03T13:03:26.752-06:00 INFO [c.z.h.HikariDataSource] PDBReadPool - Start completed.
|
2020-12-03T13:03:26.850-06:00 INFO [c.z.h.HikariDataSource] PDBWritePool - Starting...
|
2020-12-03T13:03:26.851-06:00 INFO [c.z.h.HikariDataSource] PDBWritePool - Start completed.
|
The workaround is to enable garbage collection or disable sync. We enabled garbage collection by setting gc-interval = 20160 in database.ini