Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(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.
- Loading branch information