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). 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.
eventual-cluster binary provider configuration
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 two additional folders under the eventual folder:
_pre: part of the persistence mechanism that ensures all files are valid before being uploaded to the remote filestore
_queue: handles all actions on files that will reach the remote filestore
Parameter | Description |
|---|---|
| eventual-cluster |
| Default: 300000 ms The amount of time to wait before an |
| Default: 5 The number of worker threads employed by this provider. These threads handle all actions against the remote filestore. |
| Default: 1000 ms The time to wait between scans of the eventual directory. |
| Default: 15000 ms The minimum time to wait between trying to re-activate the provider if it had fatal errors at any point. |
| The name of the sharding zone the provider is a part of (only applicable under a sharding provider) |
Eventual-Cluster Binary Provider Example
The configuration below uses the google-storage chain template, and configures 10 parallel threads for uploading and a scan time of 1 second.
<config version="v1">
<chain template="cluster-google-storage-v2"/>
<provider id="google-storage-v2" type="google-storage-v2">
<endpoint>commondatastorage.googleapis.com</endpoint>
<bucketName><BUCKET NAME></bucketName>
</provider>
<provider id="eventual-cluster-google-storage" type="eventual-cluster">
<maxWorkers>5</maxWorkers>
<dispatcherInterval>1000</dispatcherInterval>
<checkPeriod>15000</checkPeriod>
<addStalePeriod>300000</addStalePeriod>
<zone>local</zone>
</provider>
</config>