Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-7271

performance regression in puppet 4.9


    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: PUP 4.9.0, PUP 4.9.1
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Template:
    • Team:
      Puppet Developer Experience
    • Sprint:
      Forge - To Accept
    • QA Risk Assessment:
      Needs Assessment


      Recently, our puppet servers received a puppet agent update, which implied an update of the puppet engine to version 4.9.1. Immediately there after, catalog compilation time on the servers went up eight-fold, from a typical 10-15 seconds to over a 100 seconds, leading to lengthy queues and many failed client runs. Reversal to puppet engine 4.8.x has brought catalog compilation times back to expected levels.

      Trace and debug data from a spare puppet server in the same environment strongly suggests that a much more inefficient method of retrieving hiera data is responsible for the performance degradation. Likely culprit is the eyaml backend: in a typical catalog compilation, more than 5000 times the eyaml plugin suffer a "reset" of some sort as, hinted at by the trace log entries. The following is seen in the log file for each inidvidual hiera lookup:

      [puppetserver] Puppet hiera(): Using Hiera 1.x backend API to access instance of class Hiera::Backend::Eyaml_backend. Lookup recursion will not be detected
      [puppetserver] Puppet hiera(): [eyaml_backend]: Set option: datadir = /etc/puppetlabs/code/environments/stable/hieradata
      [puppetserver] Puppet hiera():[eyaml_backend]: Set option: pkcs7_private_key = /etc/puppetlabs/puppet/keys/eyaml_private_key.pkcs7.pem
      [.... lots more]

      [etc, etc. , all this repeated > 5000 times for a single catalog compilation, once for each hiera lookup]




            • Assignee:
              pk Paul Kranenburg
            • Votes:
              0 Vote for this issue
              11 Start watching this issue


              • Created:

                Zendesk Support