Skip to main content

Change Repository Blob Store

Note

Only available in Sonatype Nexus Repository Pro. Interested in a free trial? Start here.

The Admin - Change repository blob storetask allows you to change the blob store source for a selected repository. This can be helpful when moving from a local volume blob store to S3, from one S3 bucket to another, etc.

Note

  • Using this task on proxy repositories requires Sonatype Nexus Repository version 3.61.0 or later and an H2 or PostgreSQL database.

  • Using this task on group repositories requires Sonatype Nexus Repository version 3.65.0 or later and a PostgreSQL database.

Note

In release 3.45.0, we temporarily disabled the Admin - Change repository blob store task to address a number of important issues.

In release 3.58.0, we re-enabled this task for PostgreSQL and H2 deployments only. You should only use this task if you are on release 3.58.0 or newer.

Due to known issues with OrientDB, the task remains disabled for OrientDB deployments while we further investigate these issues.

As this task can take significant time to complete, you should review our Change Repository Blob Store Task Performance Testing results to learn more about this task's performance and anticipated time requirements in different scenarios.

Configuration

1. To create a new Admin - Change repository blob store task, navigate to Admin → System → Tasks and select the Create task button.

2. Choose the Admin - Change repository blob store task type; the form for creating a new task of this type appears as shown below.

181764181.png

3. Fill in the form fields for your task:

Note

When using this task on group repositories, it will only move metadata assets directly related to the group repository content id; it does not move or affect data in the repositories that are group members.

Using this task on group repositories requires a PostgreSQL database.

  • Task enabled - This checkbox determines if the task is currently active

  • Task name - Provide a unique name for your task

  • Notification email - The email address where an email will be sent if the condition defined in Send notification on is met

  • Send notification on - Conditions that will trigger a notification email (options include Failure and Success or Failure)

  • Repository - The repository for which you wish to change the blob store

  • Destination blob store - The blob store to which you wish to move the repository

    Note

    When the task runs, the Destination blob store field is cleared as the destination blob store is no longer a valid destination to configure this task. However, you can still stop and restart the task until it is complete without impacting the originally defined destination blob store for this task.

  • Task frequency - How often to run the task; for this task, you can only select Manual (task can only be run manually) or Once (the task will run once at the specified date/time)

Usage Considerations

Repository Type

The Admin - Change repository blob store task works on hosted, proxy, and group repositories; however, support for proxy and group repositories requires minimum Sonatype Nexus Repository versions as described below:

  • Using this task on proxy repositories requires Sonatype Nexus Repository version 3.61.0 or later and an H2 or PostgreSQL database.

  • Using this task on group repositories requires Sonatype Nexus Repository version 3.65.0 or later and a PostgreSQL database.

Note

When using this task on group repositories, it will only move metadata assets directly related to the group repository content id; it does not move or affect data in the repositories that are group members.

Using this task on group repositories requires a PostgreSQL database.

Database Requirements

This task is currently enabled only for deployments using PostgreSQL or H2 databases.

Using this task on group repositories requires a PostgreSQL database.

Minimum Sonatype Nexus Repository Version

You should only use this task if you are on Sonatype Nexus Repository version 3.58.0 or newer.

Earlier versions of the task contain known issues that could lead to data loss.

Conflicting Tasks

The following tasks will conflict with the Admin - Change repository blob store task and should not be run at the same time as this task:

  • Admin - Compact blob store

  • Repair - Reconcile component database from blob store

  • Admin - Remove a member from a blob store group

Attempting to run any of these tasks at the same time as Admin - Change repository blob store will result in at least one of the tasks failing and being blocked.

Change in Blob Store Write Location and Destination blob store Field Appears Empty

When you run the Admin - Change repository blob store task, it will move all of the specified repository's content from its current blob store to the destination blob store. Immediately after the task starts, repository configuration changes so that all new writes go to the destination blob store. As the task runs, every blob that it moves as well as any errors that may occur are logged in a task log; a new task log is created each time a task runs.

When the task runs, the Destination blob store field is cleared as the destination blob store is no longer a valid destination to configure this task. However, you can still stop and restart the task until it is complete without impacting the originally defined destination blob store for this task.

Cannot Delete or Promote Blob Store During Task Run

When the Admin - Change repository blob store task is running, the options to delete or promote a blob store will not be available for either the target or destination blob stores in order to avoid data corruption. These options will become available again when the task completes.

Reverting After Change

If it becomes necessary to revert the task, you can change the task configuration to set the destination blob store to the original source blob store or delete the task and add a new one that is pointing at the original source blob store. You will need to stop the task if it is running before you can change the configuration.

In Event of Task Failure

If the task fails for any reason, the only valid target for the task will be the original source blob store. Sonatype Nexus Repository will reject any other target blob store during save.

Time to Complete

This task can take significant time to complete. Review our Change Repository Blob Store Task Performance Testing results to learn more.