HomePhorge

(PUP-724,#21922) Autoload compares only integer secs
98e9219a4d4dUnpublished

Unpublished Commit · Learn More

Repository Importing: This repository is still importing.

Description

(PUP-724,#21922) Autoload compares only integer secs

Although the ultimate reasons have not been tracked down, there have
been occasions where the Puppet::Util::Autoload.changed? method will
erroneously report that a file has changed based on an mtime having
seemed to change nsecs, despite no evidence of this being seen in the
file system.

The previous implementation was comparing mtime (Ruby Time instances)
and the nsecs seem to be volatile under unknown conditions. When it does
break, this was manifesting as a failure to autoload
puppet/util/instrumentation/listeners/log.rb (the instrumentation code
is relying on Puppet::Util::Autoload for initial loading but does not
expect its listeners to be reloaded, and they are not written in such a
way as to be reloadable...) (see PUP-724 and its associated tickets for
details).

The work around is to instead just compare integer secs.

Event Timeline

Josh Partlow <joshua.partlow@puppetlabs.com> committed rPU98e9219a4d4d: (PUP-724,#21922) Autoload compares only integer secs (authored by Josh Partlow <joshua.partlow@puppetlabs.com>).Jan 3 2014, 7:14 PM