Trying a different method of setting access time.

This commit is contained in:
defnotken
2025-12-23 10:36:38 -06:00
parent 33fb6ba2eb
commit 4012b33f98

View File

@@ -116,11 +116,12 @@ public sealed class CachedFileProvider : IDisposable
var tempFileName = destinationFilePath + ".dl"; var tempFileName = destinationFilePath + ".dl";
File.Copy(coldStorageFilePath.FullName, tempFileName, true); File.Copy(coldStorageFilePath.FullName, tempFileName, true);
File.Move(tempFileName, destinationFilePath, true); File.Move(tempFileName, destinationFilePath, true);
coldStorageFilePath.LastAccessTimeUtc = DateTime.UtcNow;
var destinationFile = new FileInfo(destinationFilePath); File.SetLastAccessTimeUtc(coldStorageFilePath.FullName, DateTime.UtcNow);
destinationFile.LastAccessTimeUtc = DateTime.UtcNow; File.SetLastAccessTimeUtc(destinationFilePath, DateTime.UtcNow);
destinationFile.CreationTimeUtc = DateTime.UtcNow; File.SetCreationTimeUtc(destinationFilePath, DateTime.UtcNow);
destinationFile.LastWriteTimeUtc = DateTime.UtcNow; File.SetLastWriteTimeUtc(destinationFilePath, DateTime.UtcNow);
_metrics.IncGauge(MetricsAPI.GaugeFilesTotal); _metrics.IncGauge(MetricsAPI.GaugeFilesTotal);
_metrics.IncGauge(MetricsAPI.GaugeFilesTotalSize, new FileInfo(destinationFilePath).Length); _metrics.IncGauge(MetricsAPI.GaugeFilesTotalSize, new FileInfo(destinationFilePath).Length);
return true; return true;
@@ -173,7 +174,14 @@ public sealed class CachedFileProvider : IDisposable
var fi = FilePathUtil.GetFileInfoForHash(_hotStoragePath, hash); var fi = FilePathUtil.GetFileInfoForHash(_hotStoragePath, hash);
if (fi == null) return null; if (fi == null) return null;
fi.LastAccessTimeUtc = DateTime.UtcNow; try
{
File.SetLastAccessTimeUtc(fi.FullName, DateTime.UtcNow);
}
catch (Exception ex)
{
_logger.LogWarning(ex, "Failed to update LastAccessTimeUtc for file {hash}", hash);
}
_fileStatisticsService.LogFile(hash, fi.Length); _fileStatisticsService.LogFile(hash, fi.Length);