Federated Binary Provider

This section explains the federated repository configuration, which defines the filestore settings located under $JFROG_HOME/artifactory/var/etc/artifactory/binarystore.xml (followed by a restart) for synchronizing federated repository binaries.

The table below lists the elements in the federated binary provider template.

Parameter

Description

type

federated-repo

numberOfRemoteImporters

This setting defines the number of workers responsible for downloading binaries from remote federated binary providers. It defines the parallelism for pulling binaries from remote sources once metadata has been synced as a binary task.

Note: While the source instance pushes metadata for artifacts to the target instance, the corresponding binary is pulled on the target instance from the source instance's federated binary provider.

The default setting is 6.

numberOfLocalImporters

Specifies the number of workers dedicated to on-demand downloads. In this scenario, binaries are pulled by the target repository when requested, even if the binary has not been previously fetched. This mechanism ensures that binaries are available as soon as their metadata is available, prioritizing them over binary tasks queued for sync by the remote importers. This helps prevent delays in artifact availability when users request them.

The default setting is 6.

maxRetry

Determines the number of attempts to retry importing a binary before it is considered to be a fetch failure. Increasing this value allows for additional attempts to process failed binaries.

The default setting is 10.

firstRetryDelayMs

The initial delay before retrying a binary import, in milliseconds.

The default delay is 30,000 ms (30 seconds).

maximumIdleTimeMs

The maximum wait time between task assignments.

The default setting is 60,000 ms (1 minute).

maximumExecTimeMs

The maximum duration a task can be held by a single node.

The default setting is set to 3,600,000 ms (60 minutes).

The following example shows the federated-repo configuration with the default values:

    <provider id="federated-repo" type="federated-repo">
        <numberOfRemoteImporters>6</numberOfRemoteImporters>
        <numberOfLocalImporters>6</numberOfLocalImporters>
        <firstRetryDelayMs>30000</firstRetryDelayMs>
        <maxRetry>10</maxRetry>
        <maximumIdleTimeMs>60000</maximumIdleTimeMs>
        <maximumExecTimeMs>3600000</maximumExecTimeMs>
    </provider>