Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Beginning with Swarm Storage 6.0, you can create unnamed objects Unnamed objects can be created in a domain and apply the domain's protection settings can be applied to those objects beginning with Swarm Storage 6.0. This allows unnamed objects to be accounted for in metered environments where storage may be allocated to a set of users based on the domain into which their the content is stored. An object's association with a domain is called tenancy. However, the The domain is not used to later locate the unnamed object in the cluster as is the case for named objects.

...

Info

Important

When writing unnamed objects, use a HOST header equivalent to the cluster name, the host IP address, or a domain=clusterName query argument on all requests even if you are not using domains for other purposes.

Info

Caution

When writing unnamed objects, verify an application is not passing a HOST header that is neither an IP address nor a domain that exists in the cluster (unless the host header matches the cluster name). Swarm will attempt attempts to look up the non-existent domain on every request and will wait waits for multiple retries before the lookup times out, impacting performance.

...

Unnamed Behavior in Version 6.0+

Behavior in Earlier Versions

An unnamed object can be created in a domain (but not in a bucket).

An unnamed object created in version 6.0 and later is associated with a domain only if the object is explicitly associated with a domain using either the domain= query argument or a host header.

If the configuration parameter cluster.enforceTenancy is set to false (default) and either a domain is not specified, the default domain is specified, or a domain that does not exist is specified on the POST using either the domain= query arguments or the host header, then the object is not associated with a domain. You cannot write unnamed streams into the default domain unless cluster.enforceTenancy=True

If the configuration parameter cluster.enforceTenancy is set to true and an alternate domain is not specified on the POST request, then the object is associated with the default cluster-name domain. With cluster.enforceTenancy set to true, specifying a domain that does not exist on the POST request will result results in a an HTTP 412 response.

Unnamed objects were are always untenanted (not associated with any domain).

Whether unnamed objects are permitted in a particular domain is determined by the protection settings created in the domain, including the default domain. If unnamed objects are not associated with a domain, there are no POST restrictions.

Whether unnamed objects POSTs were are allowed was always is determined by the protection settings of the default cluster domain.

...