summaryrefslogtreecommitdiffstats
path: root/lib/puppet/node
diff options
context:
space:
mode:
authorJacob Helwig <jacob@puppetlabs.com>2011-04-01 11:15:47 -0700
committerJacob Helwig <jacob@puppetlabs.com>2011-04-01 11:15:47 -0700
commit1b66c28fb2ac5f5f10ce32b87ec459a480dcf161 (patch)
treeb44a18ed0290079cde2e2c04a5d9ff1634e4a6f1 /lib/puppet/node
parentd7a1424fa9b4626a2faa96d4673308ff91e5deb8 (diff)
downloadpuppet-1b66c28fb2ac5f5f10ce32b87ec459a480dcf161.tar.gz
puppet-1b66c28fb2ac5f5f10ce32b87ec459a480dcf161.tar.xz
puppet-1b66c28fb2ac5f5f10ce32b87ec459a480dcf161.zip
(#5437) Invalidate cached TypeCollection when there was an error parsing
The caching of the TypeCollection in Puppet::Node::Environment would cause parse errors to occur (and be reported) only once and never again, until the file had changed on disk. This would also cause empty catalogs to be sent down to the agents further hiding the problem. Now, when a file fails to parse, it will be re-parsed every time on every following compilation, causing the parse error to be reported every time, and preventing sending down empty catalogs to agents. Paired-with: Nick Lewis <nick@puppetlabs.com>
Diffstat (limited to 'lib/puppet/node')
-rw-r--r--lib/puppet/node/environment.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/puppet/node/environment.rb b/lib/puppet/node/environment.rb
index b64fb8a1f..807479bc8 100644
--- a/lib/puppet/node/environment.rb
+++ b/lib/puppet/node/environment.rb
@@ -79,7 +79,7 @@ class Puppet::Node::Environment
# environment has changed do we delve deeper.
Thread.current[:known_resource_types] = nil if (krt = Thread.current[:known_resource_types]) && krt.environment != self
Thread.current[:known_resource_types] ||= synchronize {
- if @known_resource_types.nil? or @known_resource_types.stale?
+ if @known_resource_types.nil? or @known_resource_types.require_reparse?
@known_resource_types = Puppet::Resource::TypeCollection.new(self)
@known_resource_types.perform_initial_import
end