@ahpook I'm not sure if the fix also applies to the problem described in the mailing list because I never had enough data to understand the issue in the mailing list. But as it stands today, if one target cannot be read while prefetching, we'll wipe every target clean. In case of the cron provider this is pretty bad because on Solaris the read method can actually raise an error (the `:suntab` filetype uses `Puppet::Util::Execution.execute(%w{crontab -l}, cronargs)` in the read method, so we might get a `Puppet::Error`. On Linux the read method just runs `%x{crontab}` which will never throw an exception so that's why the error is only seen on solaris)

I also understand Daniel's concern that we should never ignore a read error and never treat a target that we failed to read as an empty target. But on the other hand: If we fail in reading a target, is it likely that we are able to write to the target (in order to wipe it clean)?