ISSUE: Artifactory errors out with [ERROR] (o.a.r.c.e.GlobalExceptionMapper:48) - Binary provider has no content for ... in artifactory.log
POSSIBLE REASONS:
1. Artifactory's data folder is not configured correctly, pointing to a wrong directory
1. Binary checksum files in Artifactory's data folder is moved/removed from externally, without Artifactory knowing
TROUBLESHOOTING:
You may run one of following methods to quickly check integrity of binaries in the database against filestore
Method 1 (Single NFS only)
1. Get a list of binaries from Artifactory's database by querying sha1 values from "binaries" table
a. SELECT sha1 FROM binaries Order By sha1 ASC;
b. save the output as a file
2. Get a list of binaries from Artifactory's filestore.
b. Run following command
find . -mindepth 2 -type f -printf '%f\\n' | sort >> binaries-in-filestore.out
3. Find the differences between the results above using your favorite diff tool
e.g.
Method 2 (S3, Sharded store and others)
If you wish to find broken binaries but are using a more complex filestore, such as S3, HDFS, or a sharded store, you can use this script instead. Note that said script is not particularly fast or efficient, and may not be suitable for use on large Artifactory instances.
https://github.com/jfrog/artifactory-scripts/tree/master/filestoreIntegrity
RECOVERY
You may recover the missing binary files from your backup locations.