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. The feed SEND method works with any feed type as of Swarm 11.2, so it can force synchronous processing of a specific object on one or more of those feeds.
...
Which node to SEND to — Content Gateway determines the optimal target node for the request if using SEND through Content Gateway (under development for future release); select the node if going direct to Storage. All replicas must perform feed processing, but, on a new write, one replica gets to go first for replication and S3 backup processing. A SEND request has the best chance of arriving with the replication already in progress, which speeds completion if pointing SEND to the optimal node (which holds this first replica). Determine whether the request is an EC write and whether the request is a multipart completion to find the optimal SEND node. Identify an EC write by the “Manifest: ec
” response header.
For normal EC write responses, use Use the first
Location
header’shost
for the SEND for normal EC write responses.For Use the last
Location
header’shost
for non-EC write responses and for SEND after multipart completes, use the lastLocation
header’shost
.
Request headers — No special headers are expected or used on the request. Do not include the legacy SEND request headers:
...
Argument | Values, Examples | Notes |
---|---|---|
admin | none | SEND is used by an |
feedid | all | integer
| Specifies one or more specific feeds as the replication destination. Reference existing feed IDs ( If Swarm returns a 400 Bad Request error if an integer value is not an existing feed, Swarm returns a 400 Bad Request error. If . The SEND operation succeeds 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 if the feedtype is not a valid value. The SEND operation succeeds 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. |
...
Feed-<id>-Status — (The same value as a verbose HEAD/GET request.) The ID refers to the Swarm-assigned ID field in the feed definition.
0 is a success; no writes remain to be completed.
1 is a timeout.
Any other positive number is a failure.
Feed-<id>-StatusTime — (The same value as a verbose HEAD/GET request). The HTTP time of the last replication attempt or success. If Feed-<id>-Status is 1, then StatusTime are blank if Feed-<id>-StatusTime are blank Status is 1 because the object has not been processed by the feed.
...
The above feed statuses are provided immediately in the 200 response headers for feeds with a successful status (0) prior to the request. If There are no feed status headers if there is no matching feed, there are no feed status headers.
Any other feed statuses are provided as trailing headers. A newline keep-alive chunk is sent periodically as per scsp.keepAliveInterval during processing. At the end of the quest, the trailing headers are sent both in the body of the request and as trailing headers. All results are sent at the end of the response, not when processing completes for an individual feed.
If A failure or timeout response is provided with no automatic retries if a feed-to-be-processed is blocked or paused, a failure or timeout response is provided, with no automatic retries.
Example of SEND
The following request transfers the unnamed object to all clusters that are the targets of replication feeds:
...