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

Switch to using multi_json

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Normal
    • Resolution: Fixed
    • None
    • PUP 5.5.0
    • None
    • None
    • Hide

      All JSON parsing and serialization in puppet is routed through the multi_json gem
      The puppet gem has a runtime dependency on multi_json

      Show
      All JSON parsing and serialization in puppet is routed through the multi_json gem The puppet gem has a runtime dependency on multi_json
    • Froyo
    • Platform Core KANBAN
    • New Feature
    • Hide
      Puppet now uses the MultiJson gem to choose the fastest available JSON backend at runtime. By default, it will load the JSON gem that is built into Ruby. As of Puppet Server 5.5.0, we are using it to select the Jackson backend when running inside JRuby on the server.
      Show
      Puppet now uses the MultiJson gem to choose the fastest available JSON backend at runtime. By default, it will load the JSON gem that is built into Ruby. As of Puppet Server 5.5.0, we are using it to select the Jackson backend when running inside JRuby on the server.
    • Needs Assessment

    Description

      As part of an effort to improve puppetserver performance, we want to start using Jackson when running in JRuby (see SERVER-2098). In order to make this change transparently in Puppet, we want to use the multi_json gem to choose which backend to prefer at runtime, based on whether Jackson is installed. We need to update references to the built-in JSON gem to use multi_json instead. While we could confine this change to server-side code only, updating the references everywhere gives us the option to start using a faster library (e.g. Oj) agent-side as well in the future.

      Attachments

        Issue Links

          Activity

            People

              maggie Maggie Dreyer
              maggie Maggie Dreyer
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Zendesk Support