Repository navigation
Replies: 5 comments 6 replies
|
Yes. I ran the released 12.0.2 CLI on two identical 300,000-byte files with prehash caching enabled. It made two separate 257-byte cache files. After truncating just the prehash file to zero bytes, the next scan reported the same With Krokiet closed, remove the zero-byte Caching saves repeat hashing, but the scan still has to enumerate the selected directories. The cache also uses the path, size, and modification time to match entries, so moving files to new paths or changing timestamps reduces reuse. In 12.0.2 the CLI's prehash cache defaults to files at least 257,144 bytes; smaller files do not benefit from that cache setting. For a large cleanup, exclude directories you do not need in that pass, leave cache enabled, and compare a second run over the same unchanged directories before judging the cache's effect. |
|
Thank you for the answer. I wasn't sure if this was an issue or me not understanding how the prehash file works. I do know that copying the files across did cut the scan time down quite allot, even when it was a duplicate. Disk space is not an issue with 13G free. Will test to see if the prehash cache file is created following your recommendations. At present, it is almost impossible to exclude any directories. This is where the change in how directories are selected would be better. It would be nice if it was possible to select a group of directories to scan at once, instead of having to select each one individually. I found out that I had missed a couple of directories in my initial scans. Or the ability to click a directory in a list to enable/disable it being scanned instead of having to remove it and add it again. These are future issues to deal with. I am just looking how to save time on the rescans after I remove some files/directories. I have used the exclude selections to help. I have to look but my Minimal size of cached files may be an issue for the hash files. I feel that with thousands of files that are under the 256KB, the prehash may save time. I may test this setting for this project since many of the files are in this range. |
|
Okay, strange issue when running tests. I think I found a bug. Removed both cache files. Ran a scan. Closed, deleted the empty cache_duplicates_Blake3_prehash_120.bin file and ran again. cache_duplicates_Blake3_prehash_120.bin was still empty. Over 600K files scanned. Looking at the log file, I get an error for the cache_duplicates_Blake3_prehash_120.bin file. Just the Blake3 entries from the log file. Don't know why "path contains invalid UTF-8 characters" is in the log file when it creates and empty file and can create the cache_duplicates_Blake3_120.bin file in the same directory. |
|
Adding to this. I am going to do some more investigations after some experiences yesterday. In testing to find problem directory/file names, I was running with smaller groups and adding directories to see when the issue occurred. I thought I had found a problem directory but then it passed after a second test. This was a quick test and I didn't have time to investigate further. A directory that passed earlier failed when added to the mix. I am wondering if there may also be a timing issue. For anyone else with this issue, a side note, I have also found that it isn't easy to find non-UTF8 file names and directories if you have multiple languages in the mix. All scripts and tools I have tested only look at English text or don't work with Linux. All text in other languages are flagged as non-UTF8. If someone knows of a tool, I would appreciate a suggestion. |
|
Since the issue is related to non-UTF-8 file/directory names, the supplied python code helps to find those names. Faulty files or directories can be renamed to fix the issues. |
Uh oh!
There was an error while loading. Please reload this page.
Hello, I am trying to clean up years of accumulated files and backups of backups of backups. Many different names for the same file so not and easy task to do manually.
Running Krokiet, 12.0.2 on this project, I got an error message:
00:43:35.461 [ERROR] czkawka_core::common::cache: Failed to load cache from file /home/XXXXX/.cache/czkawka/cache_duplicates_Blake3_prehash_120.bin - io error: failed to fill whole bufferWhen I checked the cache directory, there were two files.
As I remove a large number of files, and start the rescan again, the error message appears again.
Since noticing this error, I have not closed the program and seen if the file ever gets written. Before I did a rescan last time, I did copy the cache_duplicates_Blake3_120.bin to cache_duplicates_Blake3_prehash_120.bin and didn't get the error message.
I don't know yet if it shortened the scan time from over 90 minutes. At times I will move some files/directories for convenience and rescan to find that the scan time is still over 90 minutes.
As time goes on, the number of directories being scanned will get larger as I add more sub directories to be scanned and I would like to know if there is a way that the I can cut down the scan time. I started with smaller groups and slowly added more directories. I do need to scan across all the directories in the end.
Is the cache_duplicates_Blake3_prehash_120.bin supposed to be the store of the previous scan to speed up the rescan?
Thank you
All reactions