Dell DX6004S DX Object Storage SCSP Proxy Overview - Page 6

Remote Cluster Communication and Coordination

Page 6 highlights

Reason for empty node list disabled Meaning Indicates the Proxy's reportHosts configuration parameter is set to False. 1.1.1.3. Response Body The body of the response to a GET / is Content-Type text/plain list of IP addresses of DX Storage nodes local to that proxy, one address per CRLF-terminated line. The Content-Length header calculation is based on the number of bytes in this list of CRLF terminated IPs. If the list is empty, the Scsp-Proxy-Nodes header indicates count=0 and the Content-Length header is zero. The body of the response to a HEAD / is always empty, although the Content-Length header indicates the total number of response bytes that would have been returned if the HEAD had been a GET. Additionally, the Scsp-Proxy-Nodes header indicates the number of nodes that would have been returned and, if this count is zero, provides the reason for the empty list exactly as it does for GET /. 1.1.2. About Expect: 100-continue Behavior If the initial request includes an Expect: 100-continue header, the SCSP Proxy waits to read the input stream and won't rewind, seek, or reset it on a WRITE, APPEND, or UPDATE for small streams until 100-continue is received. If the initial request does not include an Expect: 100continue header, the SCSP Proxy buffers input from the client but attempts to stall the input data object from the client if the buffer reaches a limit. If the request content length is larger than 128K, it adds Expect: 100-continue to the request it sends to the local cluster and handle DX Storage's 100 response. 1.1.3. About Location Headers To properly route subsequent requests, the SCSP Proxy returns one Location response header with its own external IP address and discards any other Location headers. For Replicate on Write requests, this means all Location response headers are rewritten. 1.2. Remote Cluster Communication and Coordination Developers who need to interact with multiple DX Storage clusters, either independently or in multi-cluster requests, can use the SCSP Proxy for remote cluster communication and can even coordinate requests between more than one cluster at a time. To use the following syntax, the proxy must be configured with a list of all known remote clusters (for more information, see Chapter 3, Configuration Parameters). The following syntax is valid only with the Proxy; sending requests formatted as follows directly to a DX Storage cluster results in a 404 (Not Found) error because DX Storage attempts to resolve it as a path to a named object. Syntax /_proxy/cluster-name/uuid-orname /_proxy/any/uuid-or-name Description Sends a request for an object, referenced by UUID or by name, to a specific cluster-name. any is valid only for remote INFO requests and results in an error if used with any other method. any causes a request to be sent for an object, referenced by UUID or by name, to any available cluster (local or remote). Copyright © 2010 Caringo, Inc. All rights reserved 3 Version 1.2 December 2010

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

Copyright © 2010 Caringo, Inc.
All rights reserved
3
Version 1.2
December 2010
Reason for empty node list
Meaning
disabled
Indicates the Proxy's
reportHosts
configuration parameter is
set to
False
.
1.1.1.3. Response Body
The body of the response to a GET / is Content-Type text/plain list of IP addresses of DX Storage
nodes local to that proxy, one address per CRLF-terminated line.
The Content-Length header calculation is based on the number of bytes in this list of CRLF
terminated IPs. If the list is empty, the Scsp-Proxy-Nodes header indicates
count=0
and the
Content-Length header is zero.
The body of the response to a HEAD / is always empty, although the Content-Length header
indicates the total number of response bytes that would have been returned if the HEAD had been
a GET. Additionally, the Scsp-Proxy-Nodes header indicates the number of nodes that would have
been returned and, if this count is zero, provides the reason for the empty list exactly as it does for
GET /.
1.1.2. About Expect: 100-continue Behavior
If the initial request includes an
Expect: 100-continue
header, the SCSP Proxy waits to read
the input stream and won't rewind, seek, or reset it on a WRITE, APPEND, or UPDATE for small
streams until 100-continue is received. If the initial request does not include an
Expect: 100-
continue
header, the SCSP Proxy buffers input from the client but attempts to stall the input data
object from the client if the buffer reaches a limit. If the request content length is larger than 128K, it
adds
Expect: 100-continue
to the request it sends to the local cluster and handle DX Storage's
100 response.
1.1.3. About Location Headers
To properly route subsequent requests, the SCSP Proxy returns one Location response header
with its own external IP address and discards any other Location headers. For Replicate on Write
requests, this means all Location response headers are rewritten.
1.2. Remote Cluster Communication and Coordination
Developers who need to interact with multiple DX Storage clusters, either independently or in
multi-cluster requests, can use the SCSP Proxy for remote cluster communication and can even
coordinate requests between more than one cluster at a time.
To use the following syntax, the proxy must be configured with a list of all known remote clusters (for
more information, see
Chapter 3,
Configuration Parameters
). The following syntax is valid only with
the Proxy; sending requests formatted as follows directly to a DX Storage cluster results in a 404
(Not Found) error because DX Storage attempts to resolve it as a path to a named object.
Syntax
Description
/_proxy/
cluster-name
/
uuid-or-
name
Sends a request for an object, referenced by UUID or
by name, to a specific
cluster-name
.
/_proxy/any/
uuid-or-name
any
is valid only for remote INFO requests and
results in an error if used with any other method.
any
causes a request to be sent for an object,
referenced by UUID or by name, to any available
cluster (local or remote).