Table of Contents |
---|
The SCSP SEND method applies to both named and unnamed objects. The SEND request allows explicit transmission of a newly written object from a source cluster to a remote one, such as for keeping two clusters immediately synchronized. As of Swarm 11.2, the feed SEND method works with any feed type, so that it can force synchronous processing of a specific object on one or more of those feeds.
Best practice — Use this feature with a replication feed, which acts as a catch-up mechanism if the intracluster network is down or the SEND command should failfails.
Info |
---|
Legacy SENDThe legacy behavior of the SEND method (which was limited to legacy replication feeds) is replaced by the following expanded SEND method. The legacy behavior is preserved for backwards compatibility: you can invoke it by omitting the required “feedid” or “feedtype” query arguments. (v11.2) |
SEND Requests
With a SEND request, you provide the path or UUID for the Swarm object to be sent to one or more feeds. Swarm checks the destination cluster to verify whether the object already exists there.
Which node to SEND to — If you use Content Gateway determines the optimal target node for the request if using SEND through Content Gateway (under development for future release), it determines the optimal target node for the request; if you are ; select the node if going direct to Storage, you need to select the node. All replicas must perform feed processing, but, on a new write, one replica gets to go first for replication and S3 backup processing. If you point SEND to the optimal node (which holds this first replica), the A SEND request has the best chance of arriving with the replication already in progress, which speeds completion . To find if pointing SEND to the optimal SEND node, determine node (which holds this first replica). Determine whether the request was is an EC write and whether the request is a multipart completion . You can identify to find the optimal SEND node. Identify an EC write by its the “Manifest: ec
” response header.
...
Request headers — No special headers are expected or used on the request. Do not include any of the legacy SEND request headers:
...
The SEND request needs query arguments for feedid, feedtype, or both, which is a union of all of those provided arguments; if you do not provide either, SEND reverts to the legacy behavior if neither is provided.
Argument | Values, Examples | Notes |
---|---|---|
admin | none | SEND can only be is used by an |
feedid | all | integer
| Specifies one or more specific feeds as the replication destination. Reference existing feed IDs ( If an integer value is not an existing feed, Swarm returns a 400 Bad Request error. If the object being sent does not match the feed definition (because of a domain restriction), the SEND operation succeeds, but no data is transferred. |
feedtype | all | search | replication | s3backup
| Specifies one or more types of feeds as the replication destination, from among these values: If the feedtype isn't a valid value, Swarm returns a 400 Bad Request error. If the object being sent does not match the feed definition (because of a domain restriction), the SEND operation succeeds, but no data is transferred. |
timeout | true | number of seconds | false
| Sets how long to wait for replication to complete; if disabled ( Using timeout=true waits for the Swarm setting scsp.defaultFeedSendTimeout time in seconds, which defaults to 30. Specifying a positive number for the timeout overrides the value in the Swarm setting. |
...
Info |
---|
Chunked encodingThe SEND response is chunked transfer encoded, so the client of the SEND request must be prepared for chunked transfer encoding. The response body may contain additional leading newlines sent incrementally, which keeps the connection open in long requests. The body of the response can be ignored; the trailing headers are repeated at the end of the body only to support clients that cannot handle trailing headers, such as curl. |
...