Overview
Artifactory provides several mechanisms to synchronize artifact properties between instances. Understanding the differences between Smart Remote Repository settings and Replication settings is crucial for ensuring your user-defined metadata remains consistent without impacting system performance.
Types of Property Synchronization Configurations
It is important to distinguish between caching remote artifacts and replicating artifacts:
-
contentSynchronisation.properties (Smart Remote Repository): When proxying a repository in another Artifactory instance and caching an artifact it is possible to automatically track future changes to its properties. Enabling this setting ensures that any post-cache changes to artifact properties in the remote instance are propagated to your cached version.
"contentSynchronisation" : {
"enabled" : true,
"properties" : {
"enabled" : true
}
}
- synchronizeProperties (Remote Repository): Ensures that when artifacts are fetched from a remote repository or upstream registry, they are retrieved with their associated properties attached

- sync_properties (Replication): This configuration is strictly tied to the replication mechanism. When enabled, it ensures properties are synchronized as part of a scheduled or manually triggered replication process.
What Properties are Synchronized?
Property synchronization only applies to specific types of metadata:
-
Synchronized (User-Defined Properties): Custom, searchable string fields attached to artifacts via the UI or REST API (e.g., using the Set Item Properties endpoint).
-
Not Synchronized (System Metadata): Internal, system-generated properties such as created_by, size, and modified_at. Because each Artifactory instance operates independently and records its own lifecycle events, these values will inherently differ between instances.
How and When Does Replication Sync Occur?
If sync_properties is enabled, user-defined properties are transferred between instances under the following conditions:
-
Scheduled: Automatically executed based on the cron expression configured under the Replication tab at the remote repository level.
-
Manual/API: Executed whenever a replication event is explicitly triggered via the REST API.
Note: Disabling sync_properties prevents custom properties from replicating between instances altogether.
Pull Replication: Performance and Efficiency
During a pull replication, Artifactory must fetch properties from the remote instance. While this requires a separate HTTP request for each item in the replicated repository, Artifactory uses two key optimizations to ensure this process remains efficient:
-
Timestamp Optimization: Before making a network call, Artifactory compares the last-modified timestamp of the remote properties against the local copy. If the properties have not changed, the HTTP request is entirely skipped. In a steady state, this drastically reduces the number of actual network calls.
-
Concurrent Execution: Property downloads do not happen sequentially. The requests are submitted to a thread pool and executed concurrently, allowing multiple artifacts to fetch their properties in parallel and reducing the overall synchronization time.