Change Repository Blob Store

Change Repository Blob Store

The Admin - Change repository blob store task changes where components are stored by switching the configured blob store used by the repository. This task copies components from one blob store to another without interrupting the availability of the artifacts in the repository.

The task may take significant time to complete.

See Change Repository Blob Store Performance Testing

Only available in Sonatype Nexus RepositoryTM Pro.

Feature Change Log

We recommend upgrading to version 3.58.0 or later when using this task. Earlier versions are known to lead to potential data loss.

Configuration

The following steps are to add the Admin - Change repository blob store task.

  1. Navigate to Admin → System → Tasks, and select Create task
  2. Choose the Admin - Change repository blob store task type
  1. Fill in the form fields:
  1. Select the Create task button

Moving a Group Repository

When using this task on group repositories, it 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.

While Running the Change Blob Store Task

The following are expectations and limitations while the task is running:

Example:

2024-02-16 18:32:56,241+0000 WARN  [qtp25749319-938] *UNKNOWN org.sonatype.nexus.blobstore.s3.internal.S3BlobStore - Attempt to access non-existent blob 7f65d2f9-9fd4-4465-9bf4-7297c908af64 (s3://<redacted-bucket-name>/content/vol-36/chap-15/7f65d2f9-9fd4-4465-9bf4-7297c908af64.properties null)
2024-02-16 18:32:56,242+0000 WARN  [qtp25749319-909] *UNKNOWN org.sonatype.nexus.blobstore.s3.internal.S3BlobStore - Attempt to access non-existent blob 60ad74db-e188-4c77-b217-4a4976ff8f43 (s3://<redacted-bucket-name>content/vol-20/chap-26/60ad74db-e188-4c77-b217-4a4976ff8f43.properties null)

This log activity coincided with concurrent execution of the Change Repository Blobstore Task.

Admin - Compact blob store
Repair - Reconcile component database from blob store
Admin - Remove a member from a blob store group

Consider compacting blob store task before moving content to clean up soft deleted artifacts.

Rolling Back Changes

There are two options when needing to roll back to the original blobstore:

  1. Modify the task - Change the task configuration to set the destination blob store to the original source blob store and run the task again.
  2. Create a new task - delete the current task and add a new task that directs the content back to the original source blob store.

Stop the task before attempting to change the configuration.

In the Event of Task Failure

In the event the task fails, modify the task target to the original source blob store. This is the only valid target and any any other target blob store is rejected.