Issue #13208 has been updated by Kelsey Hightower. Status changed from Unreviewed to Investigating Assignee set to Kelsey Hightower
Oliver, Thanks for reporting this issue. I'm going to get some feedback from the team on the best approach to take here. ---------------------------------------- Bug #13208: Puppet agent doesn't honour file metadata expiration field when processing the catalog. https://projects.puppetlabs.com/issues/13208#change-57425 Author: Oliver Hookins Status: Investigating Priority: Normal Assignee: Kelsey Hightower Category: Target version: Affected Puppet version: 2.6.7 Keywords: Branch: Whenever the Puppet agent has to handle a file resource with a source coming from the Puppetmaster, it issues a file_metadata request to the Puppetmaster to figure out if the file has changed between the local and remote copies. It receives something like the following back: <pre> --- !ruby/object:Puppet::FileServing::Metadata checksum: "{md5}b51047c0fc4944a0e47ce9173a6561e5" checksum_type: md5 destination: expiration: 2012-03-19 15:06:20.989782 +01:00 ftype: file group: 0 links: !ruby/sym manage mode: 420 owner: 0 path: /etc/puppet/modules/bar/files/file0972 </pre> Given that in #13199 we have a situation where MD5 is the only hashing mechanism available, this can be very computationally expensive and yet we are supplying an expiration timestamp for the metadata that has been served back to the agent. It should be possible for the agent to store and reuse this metadata within the expiration time so that load on the master is reduced. Ideally it would be supplied as an RFC-compliant HTTP header such as ETag or Last-Modified so that it can play nice with standard caching mechanisms. Right now no caching mechanism can adequately fit between the master and agent without having to make naive and possibly incorrect decisions. Since the client also doesn't make any use of expiration data we have a poorly scalable mechanism in place all round for file metadata. -- 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.
