Upload, Download, and Replicationīefore moving files from one location to another, Artifactory sends checksum headers. So-called "orphaned" files are removed in the background by Artifactory's garbage collection processes. The file itself is not directly deleted, even if the last database entry pointing to it is removed. Deleting Filesĭeleting a file is also a simple database transaction in which the corresponding database record is deleted. Copying and Moving FilesĬopying and moving a file is implemented by simply adding and removing database references and, correspondingly, performance of these actions is that of a database transaction. There is no need to actually store the file again in storage. No matter how many times a file is uploaded, the filestore only hosts a single copy of the file.
DeduplicationĪrtifactory stores any binary file only once. This is what we call "once and once only storage". First time a file is uploaded, Artifactory runs the required checksum calculations when storing the file, however, if the file is uploaded again (to a different location, for example), the upload is implemented as a simple database transaction that creates another record mapping the file's checksum to its new location. The following sections provide more information on how checksum-based storage features are implemented in Artifactory.