Uploaded image for project: 'PuppetDB'
  1. PuppetDB
  2. PDB-4975

PDB will not start when sync is configured and garbage collection is disabled

    XMLWordPrintable

Details

    • 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

      Attachments

        Issue Links

          Activity

            People

              austin.blatt Austin Blatt
              jarret.lavallee Jarret Lavallee
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support