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>