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

Use producer_timestamp in GC query

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PDB 3.0.0
    • Component/s: None
    • Labels:
      None

      Description

      When synchronizing two PDBs, new factsets and catalogs are inserted using the regular "replace catalog" and "replace facts" commands. These update their respective 'timestamp' fields. Since this timestamp is used to determine if a node is stale (should be automatically deactivated), it ensures GC won't happen until `node-ttl` after sync. This is compounded by cases where GC happens at different times on each node and a sync happens in between, which may cause a previously deactivated node to be re-activated with a long ttl.

      1. Require NTP to run on puppet master + pdb
      2. Change GC query (scf.storage/stale-nodes) to use producer_timestamp
      3. Audit code to find other usages of factset.timestamp, catalog.timestamp in logic
      4. Run a synchronous GC cycle when receiving a sync command, before generating manifests.
      5. Check that report GC is running against a field generated on the master

        Attachments

          Activity

            jsd-sla-details-panel

              People

              • Assignee:
                russell.mull Russell Mull
                Reporter:
                russell.mull Russell Mull
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: