Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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.

...

Argument

Values, Examples

Notes

admin

none

SEND is used by an admin user. This requires the admin query argument and a system user/password sent as a digest.

feedid

all | integer

feedid=all 

feedid=1&feedid=3

Specifies one or more specific feeds as the replication destination. Reference existing feed IDs (feedid=1&feedid=3) or use the special value “all” to refer to all feeds, including no feed. Select Cluster > Feeds, and locate the ID column to find the ID number for a feed in the Swarm UI:

Swarm returns a 400 Bad Request error if an integer value is not an existing feed. The SEND operation succeeds if the object being sent does not match the feed definition (because of a domain restriction), but no data is transferred.

feedtype

all | search | replication | s3backup

feedtype=all

feedtype=replication
   &feedtype=search

Specifies one or more types of feeds as the replication destination, from among these values: search, indexing, replication, s3backup.  (The values search and indexing are synonymous.) Use the special value “all” to refer to all feed types, including no feed.

Swarm returns a an HTTP 400 Bad Request error 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), but no data is transferred.

timeout

true | number of seconds | false

timeout=true

timeout=60

Sets how long to wait for replication to complete; if disabled (false; not recommended), feed processing can go on indefinitely if a feed is blocked. 

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.

...

The request returns information about that request in the body of the response. SEND behaves operates like a HEAD request, with the headers of the response resembling that of a HEAD request. 

Info

Chunked encoding

The 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 to support clients that cannot handle trailing headers, such as curl.

SEND SCSP returns a an HTTP 200 OK (request has been completed), even for timeouts.

...

  • The above feed statuses are provided immediately in the HTTP 200 response headers for feeds with a successful status (0) prior to the request. There are no feed status headers if there is no matching feed.

  • 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.

  • A failure or timeout response is provided with no automatic retries if a feed-to-be-processed is blocked or paused.

...