Issue #4656 has been updated by Paul Berry.

Status changed from Ready for Testing to Rejected
Affected Puppet version deleted (2.6.1rc3)

The patch I submitted for this ticket proved to be quite contentious, and 
sparked the dev list discussion "PL RFC-1: Semantics of autoloaded classes".  
In this discussion, we decided that a better solution to the nondeterminism 
problem is to restrict what kinds of constructs are allowed to appear in 
autoloaded .pp files so that nondeterminism cannot arise.  See that discussion 
thread for details.

The upshot of the decision is that this patch was rejected, and we've converged 
on a new approach, which is captured in tickets #5041, #5043, and #5044.
----------------------------------------
Bug #4656: Autoloading can lead to nondeterministic catalogs
https://projects.puppetlabs.com/issues/4656

Author: Paul Berry
Status: Rejected
Priority: Normal
Assignee: Paul Berry
Category: compiler
Target version: Statler
Affected Puppet version: 
Keywords: 
Branch: http://github.com/stereotype441/puppet/tree/ticket/next/4656


To save time when servicing multiple nodes, each environment caches the current 
set of hostclasses, definitions, and node declarations in known_resource_types. 
 It's possible that while servicing node A, file 1 will be autoloaded causing 
additional resources to be merged into existing class definitions.  Those 
additional resources will still be present when later servicing node B, even if 
node B would not cause an autoload of file 1.  So the catalog sent to node B 
will differ depending on whether node A has previously been serviced by the 
same environment.

Rather than cache hostclasses, definitions, and node declarations, we should 
cache the AST's produced by parsing individual files.  In addition to fixing 
this bug, this should improve performance when there are multiple environments, 
because the cache of parsed AST's can be shared among all environments.


-- 
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