Cloud customer?
Start for Free >
Upgrade in MyJFrog >
What's New in Cloud >







You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

Overview

Now that you have set up and configured the components that comprise the Cold Artifact Storage solution - a Cold Artifactory instance connected to a binary provider and a Live Artifactory instance - you are ready to begin working with its different capabilities and features.

The Cold Artifact Storage tasks outlined in this section can be performed using one of the following options:

JFrog Subscription Levels

SELF-HOSTED

ENTERPRISE X
ENTERPRISE+

Page Contents


Working with Cold Artifact Storage using UI 

This section provides information about using the UI on the Live Artifactory instance to perform the following tasks:

Cold Artifactory Instance UI

While you can access and use the Cold Artifactory instance UI, its functionality is limited to the following:

Setting up Retention Policies

Artifactory Cold Storage enables admins to create retention policies that determine which artifacts need to be removed and archived from a Live Artifactory instance. When the policy is executed, artifacts are moved from the Live Artifactory instance to the Cold Artifactory instance, and the binaries are stored in the storage solution connected to the Cold Artifactory. 

During the archiving process, new repositories are created dynamically in the Cold instance for each repository. 

Only Artifactory admins can create and run retention policies.

To create a new retention policy:

  1. In the Live Artifactory instance, go to the  Administration module, and select  Artifactory | Retention Policies and click Create Policy.
    The Create New Retention Policy page appears.
  2. Configure the following details:

    FieldDescription
    Policy Name

    Provide a unique and meaningful name for the policy. 

    Enabled: The policy is disabled by default. When enabled, the policy will be executed on the scheduled date and time.

    Schedule Execution

    Use a cron expression to set the schedule for the policy to execute.

    Example:

    Max Execution Duration

    Enable and select the maximum duration that the policy has to execute. While this is useful for adhering to a strict archiving schedule, it can cause the archive policy to stop before completion.

    Active PolicyCheck the checkbox to make this an active policy. Uncheck the checkbox if you do not wish to run the policy.
    Location
    Include Repository

    Click the dropdown to select all the repositories to be included in the policy.

    Include/Exclude Path Pattern

    Click  Add  to add all the path patterns that are to be included/excluded in the policy. 

    Include/Exclude Artifact Name PatternClick  Add  to add all the artifact name patterns that are to be included/excluded in the policy.
    Properties
    Include/Exclude Name and ValueClick  Add  to add all the artifact properties that are to be included/excluded in the policy.
    Age
    Deployed before

    Select artifacts based on when they were last deployed. For example, select artifacts that were deployed a year back.

    Last downloaded before

    Select artifacts based on when they were last downloaded. For example, select artifacts that were downloaded a year back.

    Purge Artifacts from Archive

    Specify if the archived artifacts need to be permanently deleted:

    • Select Never to never delete archived artifacts
    • Select to delete the archived artifacts after a specific period
    DescriptionIf required, add a description for the policy.
    AQL

    This enables you to use Artifactory Query Language (AQL) queries to select the artifacts that need to be archived.

    Important

    If you choose AQL, it will permanently alter how you edit the archive policy in the future. Once you choose to edit an archive policy using AQL:

    • Policy Name, Description, Schedule, and Delete from Archive will be the only UI fields available for editing.
    • Resources, Properties, and Age will be the only properties available for editing using AQL.

    To use AQL:

    1. Click Show More.
    2. Click the Edit icon.
      A warning message is displayed.
    3. Click I Want AQL.
    4. Enter your AQL query in the designated field.

    You may run AQL queries only on the Item domain. Other primary domains, such as Build, Entry, Promotion, and Release are not supported.

  3. Click Preview to get an estimate on the number of artifacts that will be archived based on the settings selected for the policy.
  4. Click Save to save the policy. The policy will run on the scheduled date and time.
    The newly created policy appears in the Retention Policies list.

Archiving Artifacts 

After the archive policy is defined and created:

  • It executes on the scheduled date and time.
    The archiving policy can also be executed manually using the Trigger button.

    Do not run more than 10 policies at the same time as it cause performance issues.

  • The system archives the artifacts selected by the archiving policy along with the associated metadata and moves it to the Cold Artifactory. 
  • When an artifact is archived, the system dynamically creates dedicated archiving repositories on the Cold instance (the new repositories are created with a randomly generated namespace prefix).
  • As the archival process progresses, the system updates the logs in the Artifactory service logs in the Live Artifactory instance. Additionally, if you have set up an email server, the admin user will receive notifications for all the completed operations. 

Using Cold Artifact Storage, single file package types, such as Debian can be easily archived using a simple age-based criteria. In contrast, a Docker image contains multiple files, such as the manifest.json, and the individual image layers. Because of this, you may run into a situation where a Docker tag gets archived partially, due to asymmetrical download dates on individual files that belong to the same package. To archive these type of packages, use props/location-based policies on top of time-based policies. To ensure that your packages do not disappear while archiving, use the following 3-step approach:

  1. Tag all the packages/images that are not in use using  Property Sets  in Artifactory.
    Example: 'targeted for archiving'
  2. Move the tagged packages/images to a dedicated repository.
    Example: 'Ready_for_archiving'
  3. Create an archiving policy based on:
    • Property
      Example: 'targeted for archiving'
    • Repository
      Example: 'Ready_for_archiving'
    • Age  
      Example: Deployed before 3 months, not downloaded during 1 last month

Managing Archiving Policies 

The Retention Policies page lists the name of all the retention policies, their last execution status, last run date and time, and the schedule for their next run. 

Hover over a policy and:

  • Click to view and edit the policy. 
  • Click the Trigger icon to manually trigger the policy.
  • Click the Stop icon to manually stop the execution of the policy that is in progress.
  • Click the Delete icon to permanently delete the policy.

Status Icons

The Last Execution column displays the current status of each retention policy execution, which can be one of the following:

IconLast Execution StatusMeaning

PendingPending execution - policy has never been executed.

TriggeredUser manually triggered the execution of the policy.

RunningExecution of the policy is in progress and there are no errors.

RunningExecution of the policy is in progress, but there are some errors. For information about these errors, see the logs.

CompleteExecution of the policy completed successfully, without any errors.

CompleteExecution of the policy completed, but there are some errors. For information about these errors, see the logs.

StoppingUser manually stopped the execution of the policy and the execution is being stopped.

StoppedUser manually stopped the execution of the policy.



Searching and Restoring Archived Artifacts 

Searching Archived Artifacts

Search enables you to perform a dedicated search for artifacts in the Cold instance that you wish to restore to the Live instance. The search results  indicate the origin of the resolved artifact (repository) and the availability, which depends on the type of storage used in the Cold instance.

After performing a search for the archived artifacts, admins can provide an explicit list of artifacts to be restored and trigger the restoration from the Cold instance to the Live instance. Restoration is a non-destructive process and none of the restored artifacts are deleted from the Cold instance. 

To search and restore archived artifacts:

  1. In the Live Artifactory instance, in the Application global search drop-down, select Archive.
  2. In the search field, you can either perform a:
    • Free-text search
      or
    • Advanced search: Click the Filter icon and filter your search based on the following fields:

      FieldDescription
      Original Repository

      Search for artifacts based on the original repository name. 

      Wildcard characters are supported.

      Archiving TimeSearch for all the artifacts archived within the specified time period.
      Artifact Name

      Search for artifacts based on the artifact name.

      Wildcard characters are supported.

      Artifact Checksum

      Search for artifacts based on MD5, SHA1 or SHA256 checksum value. 

      Wildcard characters are not supported in Checksum search, so the term entered in the search field must be a valid MD5, SHA1 or SHA256 value.

      Properties

      Search for artifacts or folders based on  Properties  assigned to them, whether they are standard properties assigned by Artifactory or custom properties.

  3. Click the search icon to search and display the search results based on the selected criteria.

Restoring Archived Artifacts

  1. To restore an archived artifact, run the search as per the instructions above.
  2. To restore a single item, hover over the item and click the Restore icon.
  3. To restore multiple or all items, select the relevant items and click the main Restore icon.
    The Select Restore Destination window is displayed.
  4. Based on your preference, select the following:

    FieldDescription
    Original LocationRestore to the original artifact location.
    Fallback Location

    If original location is selected, it is mandatory to provide a fallback location. If the original location does not exist anymore, the fallback location is used as the location for restoring artifacts.

    Before providing the fallback location, ensure that the path already exists.

    New Location

    Restore to a single central destination on the Live instance. 

    Before providing the fallback location, ensure that the path already exists.

  5. Click Restore
  6. Admins who have their email server configured will receive an e-mail notification when the restore operation is complete. 
  • Depending on the number of Artifacts being restored, the restoration process can take a few minutes to a few hours.
  • If the restoration process encounters an error, the process fails and the error messages are logged accordingly.
  • The maximum number of artifacts that can be restored during a single run is 30k. This value can be configured using the retention.warm.restore.artifact.limit property in the  Artifactory System Properties  file. During the restore process, if the number of artifacts crosses the max limit, the restore process terminates after completing the restoration of 30k artifacts and the cause for termination is logged.

Monitoring the Archive and Restore Processes 

After initiating an archive or restore process, you can monitor its progress and view the status of archive and restore operations based on policy name and timeframe. The last execution will always be displayed on top.

Monitoring the Archive and Restore Processes

To monitor the status of an archiving or restoration process:

  1. In the  Administration module, select  Artifactory | Cold Storage Monitoring .
    The Cold Storage Monitoring page appears.


    The Cold Storage Monitoring page provides information about the following:

    FieldDescription
    Binaries SizeThe total number and total size of the archived binaries.
    Artifacts Size

    The total number and total size of the archived artifacts.

    Optimization

    The ratio between the total size and the size of the binaries.


  2. Click Archiving/Restoring tab to view the following details: 

    FieldDescription
    Filter (Archiving only)

    Filter the list based on policy name.

    Hide Blank Executions (Archiving only)Click this check box to hide all the executions that resulted in zero archival. 
    Policy Name (Archiving only)Name of the retention policy.
    Execution IdShows the unique execution Id generated for each execution of a policy. This Id is useful when reviewing the archive/restore logs.
    Date RangeThe time period for which you would like to see the archive/restore status. 
    Start TimeThe date and time when the archive/restore operation started running.
    Status

    The current status of the archive/restore operation, which can be one of the following:

    IconStatusMeaning

    PendingPending execution - policy has never been executed.

    TriggeredUser manually triggered the execution of the policy.

    RunningExecution of the policy is in progress and there are no errors.

    RunningExecution of the policy is in progress, but there are some errors. For information about these errors, see the logs.

    CompleteExecution of the policy completed successfully, without any errors.

    CompleteExecution of the policy completed, but there are some errors. For information about these errors, see the logs.

    StoppingUser manually stopped the execution of the policy and the execution is being stopped.

    StoppedUser manually stopped the execution of the policy.

Working with Cold Artifact Storage using REST API 

This section provides information about using the Cold Artifact Storage APIs to perform the following tasks.

Setting up Retention Policies

Artifactory Cold Storage enables admins to create retention policies that determine which artifacts need to be removed and archived from a Live Artifactory instance. When the policy is executed, artifacts are moved from the Live Artifactory instance to the Cold Artifactory instance, and the binaries are stored in the storage solution connected to the Cold Artifactory. 

To perform archiving operations, the Live instance uses standard Artifactory REST API to deploy artifacts to the Cold instance. During the archiving process, new repositories are created dynamically in the Cold instance for each repository. 

Only Artifactory admins can create and run retention policies.

To set up a policy, use the Create an Archive Policy API. This will create a  new archive policy in Artifactory using the policy configuration you set up in the API.

  1. Define the archiving policy with a policy name and an optional description.
  2. Use the Artifactory Query Language (AQL) to set the scope:
    • Include or exclude a repository, inner path, or artifact name (one or many)
    • Include or exclude associated properties (one or many)
    • Include an age, such as last downloaded before or deployed before (weeks, months, years)
    • If the selection criteria are not sufficient, you can also use an AQL to define specific selection criteria for archiving
  3. Use a Cron Expression to set the schedule for periodically triggering the archive policy
  4. Set the maximum duration (in minutes) for policy execution. 

Archiving Artifacts 

After the archive policy is defined and created:

  • It executes on the scheduled date and time.
    The archiving policy can also be executed manually using the  Run an Archive Policy API.

    Do not run more than 10 policies at the same time as it cause performance issues.

  • The system archives the artifacts selected by the archiving policy along with the associated metadata and moves it to the Cold Artifactory. 
  • When an artifact is archived, the system dynamically creates dedicated archiving repositories on the Cold instance (the new repositories are created with a randomly generated namespace prefix).
  • As the archival process progresses, the system updates the logs in the Artifactory service logs in the Live Artifactory instance. Additionally, if you have set up an email server, the admin user will receive notifications for all the completed operations. 

Managing Archiving Policies

After creating an archiving policy, you can use the following APIs to view, edit, and delete the policy:


Searching and Restoring Archived Artifacts 

Search enables you to perform a dedicated search for artifacts in the Cold instance that you wish to restore to the Live instance. The search results  indicate the origin of the resolved artifact (repo) and the availability, which depends on the type of storage used in the Cold instance.

After performing a search for the archived artifacts, admins can select the artifacts to be restored and trigger the restoration from the Cold instance to the Live instance. Restoration is a non-destructive process and none of the restored artifacts are deleted from the Cold instance. 

You may run AQL queries only on the Item domain. Other primary domains, such as Build, Entry, Promotion, and Release are not supported.

Searching Archived Artifacts

  1. Use the Search for Archives API to search for an archived artifact. 
  2. Use AQL to search within an archive based on the following criteria:
    • Repository and path
    • Artifact name
    • Artifact checksum
    • Artifact properties
    • Archiving period
  3. After the search is complete, select the specific artifacts from the search results that you wish to retrieve.

Restoring Archived Artifacts

  1. To restore an archived artifact, run the search as per the instructions above.
  2. Use the Restore from Archive API to specify the file's explicit name and path. When retrieving, you can choose to restore to the original/fallback location or a new location. All the restored files are then uploaded to the Live instance. 
  3. Admins who have their email server configured will receive an e-mail notification when the restore operation is complete.
  • Depending on the number of artifacts being restored, the restoration process can take a few minutes to a few hours.
  • If the restoration process encounters an error, the process fails and the error messages are logged accordingly.
  • The maximum number of artifacts that can be restored during a single run is 30k. This value can be configured using the retention.warm.restore.artifact.limit property in the  Artifactory System Properties  file. During the restore process, if the number of artifacts crosses the max limit, the restore process terminates after completing the restoration of 30k artifacts and the cause for termination is logged.

Monitoring the Archive and Restore Processes 

After initiating an archive or restore process, you can monitor its progress and view the status of archive and restore operations based on policy name and timeframe. The last execution will always be displayed on top.

Monitoring the Archive and Restore Processes


Reviewing Archive and Restore Logs 

In addition to using the Cold Artifact Storage UI and APIs to monitor the archive and restore processes, you can also review the Artifactory service logs to learn more about the status of archive and restore operations.

Archive Logs: To find and review the archive logs, in the Live Artifactory service logs , search for:

  • The name of the policy key
  • The artifact_retention_archive_ prefix, which is appended to the migration and archive operation Ids, as shown in the image below
2021-10-20T08:49:55.358Z [jfrt ] [INFO ] [3089a70220db396a] [o.a.i.b.SMTPMailServerMock:55 ] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Green mail started on port 38544
2021-10-20T08:49:55.359Z [jfrt ] [INFO ] [3089a70220db396a] [o.a.i.b.SMTPMailServerMock:55 ] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Green mail started on port 24011
2021-10-20T08:49:55.360Z [jfrt ] [INFO ] [3089a70220db396a] [o.a.i.b.SMTPMailServerMock:55 ] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Green mail started on port 13928
2021-10-20T08:49:55.366Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:895] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Reloading configuration... old revision 2, new revision 3
2021-10-20T08:49:55.412Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:534] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - New configuration with revision 3 saved.
2021-10-20T08:49:55.413Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to NOT READY by reload
2021-10-20T08:49:55.451Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to READY by reload
2021-10-20T08:49:55.451Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:913] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Configuration reloaded.
2021-10-20T08:49:55.547Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:895] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Reloading configuration... old revision 3, new revision 4
2021-10-20T08:49:55.597Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:534] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - New configuration with revision 4 saved.
2021-10-20T08:49:55.597Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to NOT READY by reload
2021-10-20T08:49:55.646Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to READY by reload
2021-10-20T08:49:55.646Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:913] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Configuration reloaded.
2021-10-20T08:49:55.715Z [jfrt ] [INFO ] [2a861629b8eab4ba] [c.CentralConfigServiceImpl:895] [ttp-nio-53492-exec-4] [rt_443743026 ] [rt_443743026] - Reloading configuration... old revision 4, new revision 5
2021-10-20T08:49:55.743Z [jfrt ] [INFO ] [2a861629b8eab4ba] [c.CentralConfigServiceImpl:534] [ttp-nio-53492-exec-4] [rt_443743026 ] [rt_443743026] - New configuration with revision 5 saved.
2021-10-20T08:49:55.743Z [jfrt ] [INFO ] [2a861629b8eab4ba] [ifactoryApplicationContext:562] [ttp-nio-53492-exec-4] [rt_443743026 ] [rt_443743026] - Artifactory application context set to NOT READY by reload
2021-10-20T08:49:55.781Z [jfrt ] [INFO ] [2a861629b8eab4ba] [ifactoryApplicationContext:562] [ttp-nio-53492-exec-4] [rt_443743026 ] [rt_443743026] - Artifactory application context set to READY by reload
2021-10-20T08:49:55.782Z [jfrt ] [INFO ] [2a861629b8eab4ba] [c.CentralConfigServiceImpl:913] [ttp-nio-53492-exec-4] [rt_443743026 ] [rt_443743026] - Configuration reloaded.
2021-10-20T08:49:55.782Z [jfrt ] [INFO ] [2a861629b8eab4ba] [tifactRetentionServiceImpl:290] [ttp-nio-53492-exec-4] [rt_443743026 ] [rt_443743026] - Policy 'myPolicy' was successfully created
2021-10-20T08:49:55.810Z [jfrt ] [INFO ] [3089a70220db396a] [o.a.e.UploadServiceImpl:466   ] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Deploy to 'local-repo:file.xml' Content-Length: 28 (estimation) artificial: false
2021-10-20T08:49:56.052Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [ArtifactRetentionArchiveJob:57] [art-exec-42         ] [rt_443743026 ] [rt_443743026] - Executing retention policy 'myPolicy'. Is manual true.
2021-10-20T08:49:56.052Z [jfrt ] [INFO ] [34a4d62f1e56d361] [tifactRetentionServiceImpl:425] [ttp-nio-53492-exec-7] [rt_443743026 ] [rt_443743026] - Started artifactory.ArtifactRetentionArchiveJob#ad8a82cb-df28-4032-bcff-f7eea7ea7c9b successfully
2021-10-20T08:49:56.065Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [ionStatusStorageServiceImpl:99] [art-exec-42         ] [rt_443743026 ] [rt_443743026] - About to insert new migration status record 'MigrationStatus(identifier=retention_archive_myPolicy_TQOGSQ86ZT, started=1634719796065, finished=0, migrationInfoBlob=ArtifactRetentionArchiveInfoBlob(stoppedByUser=false))'
2021-10-20T08:49:56.071Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [tifactRetentionServiceImpl:460] [art-exec-42         ] [rt_443743026 ] [rt_443743026] - Executing artifact archive to cold storage. Archive policy: myPolicy with operation Id: retention_archive_myPolicy_TQOGSQ86ZT
2021-10-20T08:49:56.265Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [c.CentralConfigServiceImpl:895] [ttp-nio-53254-exec-3] - Reloading configuration... old revision 2, new revision 3
2021-10-20T08:49:56.287Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [c.CentralConfigServiceImpl:534] [ttp-nio-53254-exec-3] - New configuration with revision 3 saved.
2021-10-20T08:49:56.287Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [ifactoryApplicationContext:562] [ttp-nio-53254-exec-3] - Artifactory application context set to NOT READY by reload
2021-10-20T08:49:56.323Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [askServiceDescriptorHandler:53] [ttp-nio-53254-exec-3] - No Replication configured. Replication is disabled.
2021-10-20T08:49:56.332Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [ifactoryApplicationContext:562] [ttp-nio-53254-exec-3] - Artifactory application context set to READY by reload
2021-10-20T08:49:56.333Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [c.CentralConfigServiceImpl:913] [ttp-nio-53254-exec-3] - Configuration reloaded.
2021-10-20T08:49:56.391Z [jfrt ] [INFO ] [d54aca1c84224f27] [o.a.e.UploadServiceImpl:466   ] [ttp-nio-53254-exec-6] - Deploy to 'adqoauzl_local-repo:file.xml' Content-Length: 0 (estimation) artificial: false
2021-10-20T08:49:56.402Z [jfrt ] [INFO ] [d54aca1c84224f27] [o.a.e.UploadServiceImpl:466   ] [ttp-nio-53254-exec-8] - Deploy to 'adqoauzl_local-repo:file.xml' Content-Length: 28 (estimation) artificial: false
2021-10-20T08:49:56.443Z [jfrt ] [INFO ] [d54aca1c84224f27] [r.c.t.ArchiveDeployRunnable:99] [pool-85-thread-1    ] [rt_443743026 ] [rt_443743026] - local-repo:file.xml was successfully deployed to cold
2021-10-20T08:49:56.480Z [jfrt ] [INFO ] [d54aca1c84224f27] [.c.t.ArchiveDeployRunnable:122] [pool-85-thread-1    ] [rt_443743026 ] [rt_443743026] - local-repo:file.xml was successfully undeployed from warm
2021-10-20T08:49:56.871Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [onStatusStorageServiceImpl:137] [art-exec-42         ] [rt_443743026 ] [rt_443743026] - Migration for 'retention_archive_myPolicy_TQOGSQ86ZT' has finished.
2021-10-20T08:49:56.874Z [jfrt ] [INFO ] [78cd3bbfc9f1ee75] [.a.a.r.c.s.ArchiveStrategy:126] [art-exec-42         ] [rt_443743026 ] [rt_443743026] - Archive operation to cold storage ended. Operation Id: retention_archive_myPolicy_TQOGSQ86ZT. Started at: Wed Oct 20 11:49:56 IDT 2021. Ended at: Wed Oct 20 11:49:56 IDT 2021. Total items processed: 1. Success percentage: 100%.
2021-10-20T08:49:57.094Z [jfrt ] [INFO ] [3089a70220db396a] [.a.i.a.r.ArchiveItemsITest:452] [TestNG_1            ] - Found mail in mock SMTP server: [JFrog] Archive Operation Is Complete Notification
2021-10-20T08:49:57.101Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:895] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Reloading configuration... old revision 5, new revision 6
2021-10-20T08:49:57.126Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:534] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - New configuration with revision 6 saved.
2021-10-20T08:49:57.127Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to NOT READY by reload
2021-10-20T08:49:57.170Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to READY by reload
2021-10-20T08:49:57.171Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:913] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Configuration reloaded.
2021-10-20T08:49:57.178Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:895] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Reloading configuration... old revision 6, new revision 7
2021-10-20T08:49:57.217Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:534] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - New configuration with revision 7 saved.
2021-10-20T08:49:57.217Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to NOT READY by reload
2021-10-20T08:49:57.269Z [jfrt ] [INFO ] [3089a70220db396a] [ifactoryApplicationContext:562] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Artifactory application context set to READY by reload
2021-10-20T08:49:57.270Z [jfrt ] [INFO ] [3089a70220db396a] [c.CentralConfigServiceImpl:913] [TestNG_1            ] [rt_443743026 ] [rt_443743026] - Configuration reloaded.

Restore Logs : To find and review the restore logs, in the Cold Artifactory service logs , search for:

  • The name of the policy key
  • The artifact_retention_restore_ prefix, which is appended to the migration and restore operation Ids, as shown in the image below
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.pom (7.3 kB at 179 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/enforcer/enforcer/3.0.0-M3/enforcer-3.0.0-M3.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/enforcer/enforcer/3.0.0-M3/enforcer-3.0.0-M3.pom (7.8 kB at 181 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/33/maven-parent-33.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/33/maven-parent-33.pom (45 kB at 740 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/21/apache-21.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/21/apache-21.pom (17 kB at 303 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-enforcer-plugin/3.0.0-M3/maven-enforcer-plugin-3.0.0-M3.jar (27 kB at 551 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-source-plugin/3.2.1/maven-source-plugin-3.2.1.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-source-plugin/3.2.1/maven-source-plugin-3.2.1.pom (6.9 kB at 147 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/33/maven-plugins-33.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/33/maven-plugins-33.pom (11 kB at 261 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-source-plugin/3.2.1/maven-source-plugin-3.2.1.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-source-plugin/3.2.1/maven-source-plugin-3.2.1.jar (32 kB at 510 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-clean-plugin/3.1.0/maven-clean-plugin-3.1.0.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-clean-plugin/3.1.0/maven-clean-plugin-3.1.0.pom (5.2 kB at 50 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/31/maven-plugins-31.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/31/maven-plugins-31.pom (10 kB at 65 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/31/maven-parent-31.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/31/maven-parent-31.pom (44 kB at 1.3 MB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/19/apache-19.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/19/apache-19.pom (16 kB at 318 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-clean-plugin/3.1.0/maven-clean-plugin-3.1.0.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-clean-plugin/3.1.0/maven-clean-plugin-3.1.0.jar (30 kB at 663 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-checkstyle-plugin/3.1.1/maven-checkstyle-plugin-3.1.1.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-checkstyle-plugin/3.1.1/maven-checkstyle-plugin-3.1.1.pom (14 kB at 356 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/34/maven-plugins-34.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/34/maven-plugins-34.pom (11 kB at 243 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/34/maven-parent-34.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/34/maven-parent-34.pom (44 kB at 932 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/23/apache-23.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/23/apache-23.pom (18 kB at 509 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-checkstyle-plugin/3.1.1/maven-checkstyle-plugin-3.1.1.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-checkstyle-plugin/3.1.1/maven-checkstyle-plugin-3.1.1.jar (109 kB at 1.3 MB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-resources-plugin/3.2.0/maven-resources-plugin-3.2.0.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-resources-plugin/3.2.0/maven-resources-plugin-3.2.0.pom (8.1 kB at 202 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-resources-plugin/3.2.0/maven-resources-plugin-3.2.0.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-resources-plugin/3.2.0/maven-resources-plugin-3.2.0.jar (33 kB at 804 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-compiler-plugin/3.8.1/maven-compiler-plugin-3.8.1.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-compiler-plugin/3.8.1/maven-compiler-plugin-3.8.1.pom (12 kB at 255 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-compiler-plugin/3.8.1/maven-compiler-plugin-3.8.1.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-compiler-plugin/3.8.1/maven-compiler-plugin-3.8.1.jar (62 kB at 1.4 MB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.pom (14 kB at 212 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/30/maven-plugins-30.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-plugins/30/maven-plugins-30.pom (10 kB at 268 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/30/maven-parent-30.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/maven-parent/30/maven-parent-30.pom (42 kB at 1.1 MB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/18/apache-18.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/apache/18/apache-18.pom (16 kB at 126 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-dependency-plugin/3.0.2/maven-dependency-plugin-3.0.2.jar (166 kB at 3.3 MB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-surefire-plugin/2.22.0/maven-surefire-plugin-2.22.0.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-surefire-plugin/2.22.0/maven-surefire-plugin-2.22.0.pom (5.0 kB at 133 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/surefire/surefire/2.22.0/surefire-2.22.0.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/surefire/surefire/2.22.0/surefire-2.22.0.pom (27 kB at 536 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-surefire-plugin/2.22.0/maven-surefire-plugin-2.22.0.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-surefire-plugin/2.22.0/maven-surefire-plugin-2.22.0.jar (41 kB at 714 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-jar-plugin/3.2.0/maven-jar-plugin-3.2.0.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-jar-plugin/3.2.0/maven-jar-plugin-3.2.0.pom (7.3 kB at 148 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-jar-plugin/3.2.0/maven-jar-plugin-3.2.0.jar
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-jar-plugin/3.2.0/maven-jar-plugin-3.2.0.jar (29 kB at 467 kB/s)
[INFO] Downloading from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.pom
[INFO] Downloaded from central: https://entplus.jfrog.io/artifactory/plugins-releases/org/apache/maven/plugins/maven-install-plugin/2.5.2/maven-install-plugin-2.5.2.pom (6.4 kB at 221 kB/s)

Limitations and Workarounds

These are some of the limitations that you may encounter when using Cold Artifact Storage, and any possible workarounds.

Limitation

In the event of an unexpected shutdown, archive policy execution might be interrupted. Due to this, the policy's corresponding operation record in the database will not be marked as done. 

Workaround
In this situation, items that were not archived will be picked up for archive during the next policy run. Stop policy execution before restarting the server.

Limitation

If the restore path that the system generates during the restore operation exceeds this limit, the restore operation will fail.

Workaround

No workaround.

The maximum path length supported is 1024 characters.  The maximum repository name length supported is 64 characters.


Limitation

Restore by folder path is not supported.

Workaround
Select all files that are to be restored.

Limitation

When creating a retention policy, cannot save basic search criteria as AQL, even though preview is able to identify content.

Workaround

Create and save the retention policy using the Create an Archive Policy API.


Limitation

Archive policy cron expression validation not working.

Workaround

Though the cron expression always appears as invalid in UI, you can still save it. So use an external cron expression validator to validate your cron expressions and then save the policy.


Limitation
Cold storage retention policy does not persist Age settings.
Workaround

This is a UI issue. Though the Age settings do not look like they persist, the real data is still correct and will work as expected when saved.

  • No labels
Copyright © 2023 JFrog Ltd.