ARTIFACTORY: How to synchronize metadata among federated repositories

ARTIFACTORY: How to synchronize metadata among federated repositories

Products
Frog_Artifactory
Content Type
User_Guide
AuthorFullName__c
Ruilin Fan, Eden Bar
articleNumber
000006270
FirstPublishedDate
2024-12-15T08:02:12Z
lastModifiedDate
2025-08-01
Introduction 

When using federated repositories, there are some artifact metadata that will be different after the artifact is synchronized. Such as created time, lastModified time and deployedBy of artifact are different due to different deployer and deployment complete time.

How to synchronize them between source repository and target repository?


Resolution 

From Artifactory 7.90.1 release, there is a system property “artifactory.federated.mirror.events.upload.info.propagate.enabled” and the default value is false.

Set artifactory.federated.mirror.events.upload.info.propagate.enabled=true in the artifactory.system.properties located under $JFROG_HOME/artifactory/var/etc/artifactory in both source and target JPDs.

Then save and restart both Artifactories to make the setting effective.

After that,  the attribute of created time, lastModified time and deployedBy will be synchronized to the target repo.

Important Note
Please note that adding this system property will not retroactively change the metadata for artifacts that have already been synchronized prior to enabling the property.
Workaround for Existing Artifacts If you need to propagate the original metadata for artifacts that were synchronized before the property was enabled, there is a workaround. If your federation is utilizing a Circle of Trust (COT), you can force a fresh sync of the metadata by recreating the target member:
  1. Create a new federated repository on the Target JPD.
  2. Disconnect/remove the old repository member in the Source JPD.
  3. Add the newly created target repository as a member to the Source JPD.
  4. Initiate a FullSync from the Source using the following REST API:
curl -u 'admin:password' -XPOST 'https://<RT_URL_SOURCE>/artifactory/api/federation/forceFullSync/<FEDERATED_REPO_NAME>
Before: (Notice the local upload time and generic 'anonymous (federated)' deployer)

User-added image  

After: (Notice the original deployer ID and original timestamps are preserved)
 
User-added image