Issue #7703 has been updated by Daniel Pittman.

Assignee deleted (Nigel Kersten)


----------------------------------------
Refactor #7703: Handling of Known Resource Types data in the environment is 
nasty...
https://projects.puppetlabs.com/issues/7703

Author: Daniel Pittman
Status: Accepted
Priority: Normal
Assignee: 
Category: compiler
Target version: Telly
Affected Puppet version: 2.6.0
Keywords: 
Branch: 


The root cause of #5318 is that we handle the set of known resource types for 
an environment very strangely in our compiler.  Specifically, we treat it as a 
kind of magic global that is always accessed through the environment, which 
then uses thread local caching, cache invalidation in random other functions, 
and other tricks to try and make it a per-thread semi-local variable.

A much better solution would be to capture that state at the start of the 
compile run, then pass it through local state to the places that consume it.  
This gives the same benefits without the complexity of managing a quasi-global 
value.  It would mean that loading could always check for an update to the 
manifests and reparse, that memory use was better managed, that we have no 
thread-model dependencies, so behave the same on all application containers, 
and generally kill complicated code.

(We also have another thread local cache next to this in the compiler, which 
probably needs the same treatment, but has far fewer tentacles floating around.)


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to