This binary provider is not independent and will always be used as part of a template chain for a remote filestore that may exhibit upload latency (for example S3 or GCS).
Eventual Binary Provider Configuration
To overcome potential latency, files are first written to a folder called “eventual” under the baseDataDir in local storage, and then later uploaded to persistent storage with the cloud provider. The default location of the eventual
folder is under the $JFROG_HOME/artifactory/data/artifactory
folder and is not configurable. You need to make sure that Artifactory has full read/write permissions to this location.
There are three additional folders under the eventua
l folder:
_pre: part of the persistence mechanism that ensures all files are valid before being uploaded to the remote filestore
_add: handles upload of files to the remote filestore
_delete: handles deletion of files from the remote filestore
Example
The following example shows a configuration that uses S3 for persistent storage after temporary storage with an eventual binary provider. The eventual provider configures 10 parallel threads for uploading and a lock timeout of 180 seconds.
<config version="2"> <chain template="s3-storage-v3"/> <!-- The S3 binary provider configuration --> <provider id="s3-storage-v3" type="s3-storage-v3"> <endpoint>s3.amazonaws.com</endpoint> <bucketName>bucketName</bucketName> <path>pathPrefix</path> <region>s3Region</region> <identity>yourIdentity</identity> <credential>yourCredentials</credential> </provider> <!-- The eventual provider configuration --> <provider id="eventual" type="eventual"> <numberOfThreads>10</numberOfThreads> <timeout>180000</timeout> </provider> </config>
Where:
Parameter | Description |
---|---|
type | eventual |
timeout | The maximum amount of time a file may be locked while it is being written to or deleted from the filesystem. |
dispatcherInterval | Default: 5000 ms The interval between which the provider scans the “eventual” folder to check for files that should be uploaded to persistent storage. |
numberOfThreads | Default: 5 The number of parallel threads that should be allocated for uploading files to persistent storage. |