Details
-
Type:
Improvement
-
Status: Accepted
-
Priority:
Normal
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:
-
Template:customfield_10700 262867
-
Team:Froyo
-
QA Risk Assessment:Needs Assessment
Description
Each JRuby instance applies a settings catalog to ensure the server's file/directories exist and have the correct permissions:
Puppet.settings.use :main, :master, :ssl, :metrics |
This doubles the amount of time it takes to initialize the JRuby instance:
When settings catalog is initialized (9.52 seconds)
2018-06-26 22:34:21,228 DEBUG [clojure-agent-send-pool-5] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1
|
2018-06-26 22:34:21,229 DEBUG [nREPL-worker-4] [p.t.internal] Finished running lifecycle function 'init' for service ':VersionedCodeService'
|
2018-06-26 22:34:21,229 INFO [clojure-agent-send-pool-5] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.
|
2018-06-26 22:34:21,229 DEBUG [nREPL-worker-4] [p.t.internal] Running lifecycle function 'init' for service ':PuppetServerConfigService'
|
2018-06-26 22:34:25,553 INFO [clojure-agent-send-pool-5] [puppetserver] Puppet Puppet settings initialized; run mode: master
|
2018-06-26 22:34:25,558 DEBUG [clojure-agent-send-pool-5] [p.s.j.puppet-environments] Registering environment 'production'
|
2018-06-26 22:34:25,559 DEBUG [clojure-agent-send-pool-5] [puppetserver] Puppet Caching environment 'production' (ttl = 0 sec)
|
2018-06-26 22:34:25,559 DEBUG [clojure-agent-send-pool-5] [puppetserver] Puppet Applying settings catalog for sections main, master, ssl, metrics
|
...
|
2018-06-26 22:34:30,748 INFO [clojure-agent-send-pool-5] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1
|
When the settings catalog is skipped (4.229 seconds)
2018-06-26 22:31:51,944 DEBUG [clojure-agent-send-pool-2] [p.s.j.i.jruby-agents] Priming JRubyInstance 1 of 1
|
2018-06-26 22:31:51,944 INFO [clojure-agent-send-pool-2] [p.s.j.i.jruby-internal] Creating JRubyInstance with id 1.
|
2018-06-26 22:31:56,173 INFO [clojure-agent-send-pool-2] [puppetserver] Puppet Puppet settings initialized; run mode: master
|
...
|
2018-06-26 22:31:56,682 INFO [clojure-agent-send-pool-2] [p.s.j.i.jruby-agents] Finished creating JRubyInstance 1 of 1
|
We could only apply the settings catalog once when puppetserver starts, and skip it for each additional JRuby instance, saving about 5 seconds each time.
Attachments
Issue Links
- blocks
-
PUP-5607 Providers are loaded on server and may cause compilation to fail if confine fails
-
- Accepted
-
- is blocked by
-
PUP-8682 Allow disabling settings catalog
-
- Resolved
-
- relates to
-
SERVER-2339 Concurrent catalog / node requests fail if yaml directories don't exist
-
- Accepted
-