Resolving Duplicate Domain and Bucket Names

Verify all domain names and all bucket names within a particular domain are unique among all managed clusters. This is important when one cluster replicates to another. There are two types of configurations when using Swarm Replication Feeds:

  • DR Cluster - Copies one or more clusters to another cluster.

  • Mirrored Configuration - Copies the content of clusters 1 to 2 and the content of clusters 2 to 1.

In either type of configuration, if two clusters contain two domains or buckets created independently with the same external name, feed replication creates a duplicate domain or bucket name in the DR or mirrored cluster. This results in indeterminate access to objects in the duplicated domains/buckets. Sometimes a request to a particular object in one of the duplicate domains/buckets succeeds, but other times it fails. 

Swarm logs a Critical error to the Admin Console similar to the following when it detects a duplicate: 

SCSP CRITICAL: Domain 'collisiondomain.e0f55af9abcacd625cfd946a1a5e49d0'  (uuid=15748c61aea50ec3bcdd28df763f6cfa) has collided with existing Domain (uuid=6ba3aeda10f2254e5b418b73c684c838).  Remove or rename one of the versions to avoid conflict.

If this Critical error is received the duplicated domain or bucket must be renamed, in the replication source cluster in the DR scenario or in either cluster in a mirrored cluster conflict.

Important

Do not rename the duplicated domain or bucket in the DR cluster unless it has a mirrored replication feed because the original name will return when the domain or bucket is updated in the source cluster.

Manually Renaming a Domain or Bucket in a Mirrored or DR Cluster

Use the SCSP COPY command with the following query arguments and authenticate as a cluster administrator to manually rename a domain or bucket in a mirrored or DR cluster.

Query Argument

Meaning

Query Argument

Meaning

admin

Also called as administrative override, this query argument allows ignoring Allow headers and bypass the Castor-Authorization header.

Note

  • Must use this query argument with cluster admin credentials.

  • Administrative override does not affect lifepoint policy deletability for immutable objects.

newname=new-domain-or-bucket-name

The new name for the domain or bucket. See Guidelines for Managing Domains.

aliasuuid=domain-or-bucket-UUID

The UUID of the domain or bucket to rename.

The UUID can be found in the critical log message printed when a duplicate is detected.

This query arg is not normally used, instead the context’s alias uuid is supplied in the url path.

To rename a domain or bucket in a mirrored or DR cluster:

  1. Record the alias UUID (Castor-System-Alias) for the duplicate domain or bucket to be renamed from the related critical error message.

  2. HEAD the alias UUID of the domain or bucket to verify its current settings and be sure you are renaming the correct duplicate.

    curl --head --location-trusted --anyauth -u 'admin:datacore' \ 'http://{swarm-host}/bbc2365b3283c23c47595abcfd09034a' \ -D before-rename.log
  3. If the legacy auth Castor-Authorization header is present update it to reflect the new name for the duplicate; otherwise, there is no need to add it.

    Castor-Authorization: cluster.example.com/_administrators, POST=cluster.example.com

    If this header is present it must be changed and included in the below curl command as:

  4. Authentication as a cluster administrator is required (a user in the security.administrators parameter). 

  5. Rename the domain or bucket using an admin COPY, providing the alias UUID in the path and the newname query arg. Use the preserve query arg so that all settings such as Castor-Stream-Type, Lifepoint, and EC protection level are preserved.

  6. It should not be necessary to recreate the search feed, listings domains or listing the buckets in the domain should now show the new name.

  7. The CRITICAL collision message should no longer be logged once this updated domain or bucket is replicated.

© DataCore Software Corporation. · https://www.datacore.com · All rights reserved.