From 14e5b5bb2113ee76279801f1cbf09d093bd8839d Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Tue, 15 Nov 2022 20:55:38 +0100 Subject: [PATCH] fix cleanup of outdated files in filescanner --- MareSynchronos/FileCache/FileDbManager.cs | 5 +++-- MareSynchronos/FileCache/PeriodicFileScanner.cs | 2 ++ MareSynchronos/WebAPI/ApIController.Functions.Files.cs | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/MareSynchronos/FileCache/FileDbManager.cs b/MareSynchronos/FileCache/FileDbManager.cs index e2dee5c..669d1df 100644 --- a/MareSynchronos/FileCache/FileDbManager.cs +++ b/MareSynchronos/FileCache/FileDbManager.cs @@ -197,12 +197,13 @@ public class FileCacheManager : IDisposable public void RemoveHash(FileCacheEntity entity) { - FileCaches.Remove(entity.Hash, out _); + Logger.Verbose("Removing " + entity.ResolvedFilepath); + FileCaches.Remove(entity.PrefixedFilePath, out _); } public void UpdateHash(FileCacheEntity fileCache) { - Logger.Debug("Updating hash for " + fileCache.ResolvedFilepath); + Logger.Verbose("Updating hash for " + fileCache.ResolvedFilepath); fileCache.Hash = Crypto.GetFileHash(fileCache.ResolvedFilepath); fileCache.LastModifiedDateTicks = new FileInfo(fileCache.ResolvedFilepath).LastWriteTimeUtc.Ticks.ToString(CultureInfo.InvariantCulture); FileCaches.Remove(fileCache.PrefixedFilePath, out _); diff --git a/MareSynchronos/FileCache/PeriodicFileScanner.cs b/MareSynchronos/FileCache/PeriodicFileScanner.cs index 6181c2c..9867b77 100644 --- a/MareSynchronos/FileCache/PeriodicFileScanner.cs +++ b/MareSynchronos/FileCache/PeriodicFileScanner.cs @@ -237,10 +237,12 @@ public class PeriodicFileScanner : IDisposable scannedFiles[validatedCacheResult.Item2.ResolvedFilepath] = true; if (validatedCacheResult.Item1 == FileState.RequireUpdate) { + Logger.Verbose("To update: " + validatedCacheResult.Item2.ResolvedFilepath); entitiesToUpdate.Add(validatedCacheResult.Item2); } else if (validatedCacheResult.Item1 == FileState.RequireDeletion) { + Logger.Verbose("To delete: " + validatedCacheResult.Item2.ResolvedFilepath); entitiesToRemove.Add(validatedCacheResult.Item2); } } diff --git a/MareSynchronos/WebAPI/ApIController.Functions.Files.cs b/MareSynchronos/WebAPI/ApIController.Functions.Files.cs index e32a371..8a87337 100644 --- a/MareSynchronos/WebAPI/ApIController.Functions.Files.cs +++ b/MareSynchronos/WebAPI/ApIController.Functions.Files.cs @@ -68,7 +68,10 @@ public partial class ApiController { await wc.DownloadFileTaskAsync(downloadUri, fileName).ConfigureAwait(false); } - catch { } + catch (Exception ex) { + Logger.Warn(ex.Message); + Logger.Warn(ex.StackTrace); + } CurrentDownloads[downloadId].Single(f => string.Equals(f.Hash, hash, StringComparison.Ordinal)).Transferred = CurrentDownloads[downloadId].Single(f => string.Equals(f.Hash, hash, StringComparison.Ordinal)).Total;