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

Enable certname "bash in place"

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PDB 4.4.0
    • Component/s: None
    • Labels:
      None
    • Template:
    • Team:
      Systems Engineering
    • Story Points:
      3
    • Sprint:
      SE 2016-12-14, SE 2017-01-11, SE 2017-01-25, SE 2017-02-08

      Description

      This has been implemented in master, but we found an issue that was going to be fixed in PDB-3087. The issue was commands getting enqueued out of order chronologically. Although that can't happen in a 1 PDB node setup, it can happen in an HA scenario. Consider 3 catalogs for node 'foo.com'. Catalog 1 is collected at T1, catalog 2 at T2 and catalog 3 at T3. We have two PuppetDB instances, X and Y.

      PDB X gets and stores catalog 1.

      PDB X has catalog 3 enqueued (but not yet stored).

      PDB Y gets and stores catalog 2.

      PDB Y replicates with PDB X, causing catalog 2 to be enqueued in PDB X. With the logic we have today, catalog 2 would overwrite catalog 3, which is newer.

      The correct behavior here is to use the producer timestamp, rather than the time the message was received.

      This will involve adding producer timestamp to the message header (i.e. POST param) and using that to determine which catalog/factset is newer.

        Attachments

          Activity

            jsd-sla-details-panel

              People

              • Assignee:
                Unassigned
                Reporter:
                ryan.senior Ryan Senior
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: